我有两个继承自基类的Django模型:
- Request
- Inquiry
- Analysis
Request有两个外键用于内置用户模型。
create_user = models.ForeignKey(User, related_name='requests_created')
assign_user = models.ForeignKey(User, related_name='requests_assigned')
出于某种原因,我收到了错误
Reverse accessor for 'Analysis.assign_user' clashes with reverse accessor for 'Inquiry.assign_user'.
我读过的所有内容都说明设置related_name
可以防止冲突,但我仍然会遇到同样的错误。谁能想到为什么会发生这种情况?谢谢!
答案 0 :(得分:107)
related_name将确保字段彼此不冲突,但您有两个模型,每个模型都包含这两个字段。您需要在每个模型中添加具体模型的名称,您可以使用一些特殊的string substitution:
create_user = models.ForeignKey(User, related_name='%(class)s_requests_created')