我最近在我的Django模型中遇到了ForeignKey冲突.我需要有两个外键(owner、assigned_to),最终指向相同的模型(用户).
据我所知,我需要related_name
分的论点才能解决那个问题.所以我就这么做了:
assigned_to = models.ForeignKey(TaskUser, blank=True, null=True, related_name='user_assignment')
和
owner = models.ForeignKey(TaskUser, related_name="user_ownership"
但我还是犯了一个错误:
tasks.task: Accessor for field 'owner' clashes with related field 'TaskUser.user
_ownership'. Add a related_name argument to the definition for 'owner'.
tasks.task: Reverse query name for field 'owner' clashes with related field 'TaskUser.user_ownership'. Add a related_name argument to the definition for 'owner'.
为什么我仍然收到这个错误?
There is one catch, owner
is in a super class (BaseWidget) 和 assigned_to
is in a sub class (Task). Are there issues with using related_name
in an inheritance relationship? Do I need to just override the inheritance of owner 和 redefine related_name
in the sub class instead? I'd appreciate any help!