Использование% (class) s в поле «по умолчанию» - PullRequest
0 голосов
/ 05 марта 2020

Я знаю, когда у вас есть внешний ключ / отношение многие ко многим, желательно использовать related_name='%(app_label)s_%(class)s_related' или что-то подобное. У меня есть сценарий, в котором я хочу установить значение поля в соответствии с текущим классом.

По сути, я хочу сделать что-то вроде этого:

class Parent(models.Model):
    child_name = models.TextField(default='%(class)s')

class ChildA(Parent):
    . . .

class ChildB(Parent):
    . . .

Возможно ли это вообще?

РЕДАКТИРОВАТЬ: Я добавлю, что можно просто объявить это поле в каждом дочернем элементе отдельно, но я бы предпочел не делать этого:

class Parent(models.Model):
    . . .

class ChildA(Parent):
    child_name = models.TextField(default='ChildA')

class ChildB(Parent):
    child_name = models.TextField(default='ChildB')
...