I recently got a ForeignKey clash in my Django model. I have the need to have two foreign keys (owner, assigned_to) ultimately pointing to the same model (a user).
From
If you are using related_name in abstract base class you need to use a '%(app_label)s' and '%(class)s' in it. Its mentioned in django doc
Be careful with related_name
If you have ForeignKey
relationships in an abstract base class every class inheriting from it will have this relationship. As a result of this you must not 'hardcode' its related_name
, because all sub classes will try to create the same accessor on the realted class (TaskUser
in this case).
You should better do something like:
owner = models.ForeignKey(TaskUser, related_name="%(app_label)s_%(class)s_ownership")
See the django docs on this.