外键不匹配-引用“ app_uploadedfile”的“ app_uploadedfiles”

时间:2019-08-02 19:15:24

标签: django django-models

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"

让我大吃一惊的是,我刚刚在一个空白的新项目中完成了此任务,并且可以正常工作。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

让我发疯的是,我刚刚在一个空白的新项目中完成了此工作,并且成功了! 我自己的解决方案是删除整个数据库=删除文件,然后删除makemigrations / migrate