Как сослаться на имя модели в определении поля миксина модели Django?
Как ссылаться на имя модели в определении поля в миксине модели? То есть, чем заменить model_name здесь:
class CreatedByMixin(models.Model):
class Meta:
abstract = True
created_by = ForeignKey(
User,
verbose_name="Created by",
help_text="User that created the record",
related_name=f"{model_name}_created",
editable=False,
)
Так, чтобы связанное имя этой модели было 'MyModel_created'?
class MyModel(UserAuditMixin, TimeStampedModel):
class Meta:
db_table_comment = "Participants are the users that are involved in the transcript"
field1 = models.TextField()
Вы ищете %(class)s
[Django-doc]. Вы не форматируете строку в ForeignKey
: Django автоматически (пере)форматирует строку, поэтому вы используете:
class CreatedByMixin(models.Model):
class Meta:
abstract = True
created_by = ForeignKey(
User,
verbose_name='Created by',
help_text='User that created the record',
related_name='%(class)s_created',
editable=False,
)