如何引用django用户模型

时间:2017-08-17 09:54:51

标签: django-models

你好我有一个名为 Assigned_problem 的模型,其中需要在其中添加模型用户的两个外键。一个外键代表分配问题的人,另一个外键代表分配问题的人。所以在更新完成的修改过程中,一个数据库结构我发现了以下错误

mini_url.Assigned_problem.assigned_to :( fields.E305)“Assigned_problem.assigned_to”的反向查询名称与“Assigned_problem .assigned_by”的反向查询名称冲突。提示:将“related_name”参数添加或更改为“Assigned_problem.assigned_to”或“Assigned_problem.assigned_by”的定义。

这是我的模特结构

class Assigned_problem(models.Model):  
    assignation_status = models.IntegerField()  
    assigned_date = models.DateTimeField(auto_now_add=True, auto_now=False, 
                                verbose_name="Assigned Date")  
    assigned_to = models.ForeignKey(User)  
    assigned_by = models.OneToOneField(User)  
    problem = models.OneToOneField('Problem')  
    def __str__(self):  
        return "{0}".'format'(self.problem.problem_content)  

1 个答案:

答案 0 :(得分:0)

使用

assigned_to = models.ForeignKey(User)  
assigned_by = models.OneToOneField(User) 

您向模型User声明了两个ForeignKeys。它们与User本身的关系无法区分。尝试将每个外键的related_name attr添加到User

assigned_to = models.ForeignKey(User, related_name="User assigned to")  
assigned_by = models.OneToOneField(User, related_name="User assigned by")

请参阅django docs