2014-06-14 2 views
0

행을 직접 추가하거나 모델 테이블에서 일부를 제거하면 문제가 발생할 수 있습니다. 아마 장고가 모든 테이블의 행 수를 기록 할까? 아니면 자동으로 생성 된 ID를 망칠 수 있습니까?직접 Django 데이터베이스 조작

중요하지 않다고 생각하지만 저는 MySQL을 사용하고 있습니다.

답변

1

Django는 데이터베이스에 "직접"작업을 수행하고 SQL 문을 실행하며 자동 생성 된 ID가 데이터베이스 서버 (이 경우 MySql 서버)에 의해 처리되기 때문에 문제가되지 않습니다. 그 SQL 쿼리는 Mysql Client 또는 Django가 어디서 왔는지 상관 없습니다.

1

Django는 기존 데이터베이스 (Django에서 생성되지 않은 데이터베이스)에서 작업 할 수 있으므로 자신의 앱 테이블에 액세스/쓰기하면 문제가 발생하지 않을 것입니다. 그래서, 당신이 그들에 익숙해 질 때까지

당신이 장고를 통해 모델을 만들 때 앱이하지 않는, 장고 (개수 또는 아무것도 저장하지 않습니다)), auth처럼 permission, content_type 등을 장고의 내부 테이블을 수정하지 않도록 할 SQL 데이터베이스에서 Django로 모델을 만든 다음 동일한 SQL 테이블에서 다른 앱에서 쓰기/읽기를 수행하면됩니다.

Djan을 사용하는 경우 DB를 통해 SQL 테이블을 직접 수정하여 트리거되지 않기 때문에 이와 같은 부작용에주의를 기울여야 할 수도 있습니다.

RDBMS는 자동으로 생성 된 ID 및 참조 무결성, 개수 등을 처리하므로 사용자가 걱정할 필요가 없습니다.

관련 문제