related_name argument not working as expected in Django model?

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.


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

Tags:

Python

Django