【发布时间】:2020-08-05 03:22:31
【问题描述】:
在与中间表的多对多关系中,我使用多个外键。但有错误 该模型被“examples.Employee.designation”用作中间模型,但它有多个来自“Employee”的外键,这是不明确的。您必须通过 through_fields 关键字参数指定 Django 应该使用哪个外键 我的模型带有中间表
class Employee(models.Model):
code = models.CharField(max_length = 256)
designation =models.ManyToManyField(Designation,related_name='+',through = 'HRManagement',blank=True)
status = models.BooleanField(default = True)
join_date = models.DateField(default=datetime.datetime.now)
leave_date = models.DateField(blank = True, null=True)
username = models.CharField(max_length = 256)
password = models.CharField(max_length = 256)
first_name = models.CharField(max_length = 256)
last_name = models.CharField(max_length = 256)
address = models.TextField()
class Designation(models.Model):
name = models.CharField(max_length = 256)
class HRManagement(models.Model):
employee = models.ForeignKey(Employee, related_name = 'employee', null=True,on_delete=models.CASCADE)
designation = models.ForeignKey(Designation, on_delete=models.CASCADE,default=None,null=True)
reportto = models.ForeignKey(Employee, null=True, related_name='reportto',on_delete=models.CASCADE)
我该如何解决这个错误?请帮助我建立模型
【问题讨论】:
标签: django-models