Иногда вам нужно использовать дополнительное форматирование в related_name
- фактически, в любое время, когда используется наследование.
class Value(models.Model):
value = models.DecimalField(decimal_places=2, max_digits=5)
animal = models.ForeignKey(
Animal, related_name="%(app_label)s_%(class)s_related")
class Meta:
abstract = True
class Height(Value):
pass
class Weigth(Value):
pass
class Length(Value):
pass
Нет столкновения здесь, но связанное имя определено один раз, и Django позаботится о создании уникальные имена отношений.
, тогда у детей класса Value вы получите доступ к:
herdboard_height_related
herdboard_lenght_related
herdboard_weight_related