Я получаю эту ошибку и пытаюсь ее решить, следуя другим сообщениям, но это не помогло.Я новичок в Django rest_framework и пытаюсь собрать остальные API с помощью Python.
У меня 5 моделей. Немногие из них связаны между собой внешним ключом.
Проект и Файл (модели) связаны между собой внешним ключом.Все модели имеют поле идентификатора как UUIdField
с атрибутом unique=True
.У меня нет данных в модели проекта.Когда я пытаюсь вставить данные в модель проекта через интерфейс администратора, данные успешно вставляются.
Но когда я пытаюсь вставить один и тот же экземпляр модели File
в две разные модели Project
, это даетмне сообщение об ошибке:
UNIQUE constraint failed: testapp_project.file_id
Я пытаюсь вставить один и тот же файл в два разных проекта, и это выдает ошибку.
Вот мои модели:
class Project(models.Model):
id=models.UUIDField(
primary_key=True,
default=uuid.uuid4,
editable=False)
title = models.CharField(max_length=200)
file = models.ForeignKey(File,
on_delete=models.CASCADE,
related_name='projects'
)
type = models.CharField(max_length=200)
def __str__(self):
return self.title
class File(models.Model):
File_Status = Choices("Working","Uploading","Finished")
id=models.UUIDField(primary_key=True, default=uuid.uuid4, unique=True)
name=models.CharField(max_length=200)
filetype=models.ForeignKey(FileType, on_delete=models.CASCADE)
software=models.ForeignKey(Software, on_delete=models.CASCADE)
description=models.TextField()
created=models.DateTimeField(auto_now_add=True)
modified=models.DateTimeField(auto_now_add=True)
status=models.CharField(choices=File_Status, max_length=200, default=File_Status.Working)
def __str__(self):
return self.name