This question不能解决我的问题。
这是我的课程:
class Person(BaseModel):
user = models.OneToOneField(User, related_name='person',
on_delete=models.CASCADE)
class UploadedFile(BaseModel):
description = models.CharField(max_length=200, default=None,
null=True, blank=True,)
original_file = models.CharField(max_length=200, default=None,
null=True, blank=True,)
uploaded_file = models.FileField(default=None, null=True, blank=True,)
class UploadedFiles(BaseModel):
person = models.ForeignKey(Person, null=True, blank=True, default=None,
related_name='uploaded_files',
on_delete=models.CASCADE)
common_directory = models.CharField(max_length=200, default=None,
null=True, blank=True)
tarball_file = models.ForeignKey(UploadedFile, null=True, blank=True,
related_name='tarball_file',
default=None,
on_delete=models.CASCADE)
在我的代码中,当我这样做时:
UploadedFiles.objects.create(person=self.request.user.person)
我收到此错误:
sqlite3.OperationalError: foreign key mismatch - "app_uploadedfiles" referencing "app_uploadedfile"
让我大吃一惊的是,我刚刚在一个空白的新项目中完成了此任务,并且可以正常工作。知道如何解决这个问题吗?
答案 0 :(得分:0)
让我发疯的是,我刚刚在一个空白的新项目中完成了此工作,并且成功了!
我自己的解决方案是删除整个数据库=删除文件,然后删除makemigrations
/ migrate
。