DB에 이미있는 파일에 모델이 몇 개있는 models 폴더가 있습니다. 방금 다른 파일/모델을 추가했지만 syncdb를 실행할 때 DB에 추가되지 않습니다. manage.py 유효성 검사를 시도했는데 제대로 실행 중입니다. 또한 코드를 실행하고 "테이블 존재하지 않는"저장하려고 할 때 실패합니다. __ file2.py
Django 모델이 syncdb 이후에 DB에 나타나지 않습니다.
및 - file1.py
- 평
__ 초기화 __ -
/모델
:
원래의 구조는 다음과 같았다 초기화 __ .py는 다음과 같이 보입니다 :
from file1 import File1Model
from file2 import File2Model
012 file1.py
- - file2.py
- file3.py
평
__ 초기화 __ - 3,516,
나는 file3.py
/모델
추가
는 평
from file1 import File1Model
from file2 import File2Model
from file3 import File3Model
__ 초기화 __ 를 수정 그리고 file3의 내용 (무고한 사람을 보호하기 위해 이름이 변경되었을 수도 있지만 정확한 파일을 제외하고) :
업데이트 : id 필드가 자동으로 추가되었을 때 기본 키를 추가하려고 시도했습니다. 정수 기본 키 id. 또한 약간의 변화를 시도했지만 주사위는 사용하지 않았습니다.
from django.db import models
from django.contrib.auth.models import User
class File3Model(models.Model):
user = models.OneToOneField(User)
token = models.CharField(max_length=255, blank=False, null=False)
id = models.CharField(primary_key=True, max_length=255)
class Admin:
pass
class Meta:
app_label = 'coolabel'
def __unicode__(self):
return self.user.username
@staticmethod
def getinstance(user, token, id):
try:
instance = File3Model.objects.get(pk=id)
if instance.token != token:
instance.token = token
instance.save()
return instance
except:
pass
instance = File3Model()
instance.user = user
instance.token = token
instance.id = id
instance.save()
return instance
따라서이 예제에서 File1Model과 File2Model은 이미 DB에 있으며 syncdb 후에 DB에 남아 있습니다. 그러나 File3Model은 syncdb를 다시 실행 한 후에도 추가되지 않습니다. 새로운 모델이 추가되지 않는 이유를 파악할 방법이 있습니까?
'syncdb --all'을 시도 했습니까? – sultan
방금 시도했지만 여전히 작동하지 않습니다. – ntrrobng