django将值添加到foerignkey字段

时间:2019-06-12 13:23:40

标签: django django-models

我有一个简单的应用程序,要求每个员工可以拥有多个文件,所以我创建了两个模型,一个是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

1 个答案:

答案 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