我有一个简单的应用程序,要求每个员工可以拥有多个文件,所以我创建了两个模型,一个是Employee,另一个是Files
class Files(models.Model):
files = models.FileField(upload_to='files')
class Employee(models.Model):
name = models.CharField(max_length=200)
email = models.EmailField()
cv = models.ForeignKey(
Files, on_delete=models.CASCADE)
当我尝试上传文件时,它给我一个错误。
Cannot assign "'list-employees.png'": "Employee.cv" must be a "Files" instance.
Exception Type: ValueError
答案 0 :(得分:0)
您将其倒置:
class Files(models.Model):
files = models.FileField(upload_to='files')
employee = models.ForeignKey('Employee', on_delete=models.CASCADE, related_name='files')
class Employee(models.Model):
name = models.CharField(max_length=200)
email = models.EmailField()
您可以访问名为my_employee.files
的员工文件
然后,您将需要更新表单(假设您使用的是表单)来处理该关系。 Here you can see how