如何在模型混合中引用字段定义中的模型名?在这里,什么会取代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,
    )

Django相关问答推荐

Django查询一个查询集的输入结果,以查找没有出现在另一个模型中的对象

使用 Crispy Forms 时 Django 返回 'TemplateDoesNotExist'

dj_rest_auth 中的 PyTest 警告- RemovedInDjango40Warning: django.conf.urls.url() 已弃用,取而代之的是 django.urls.re_path()

如何将数据(具体归档)从views.py 传递到models.py

防止 Django 从表单集中保存特定表单

在 Django 模板中分页时如何正确显示与其父模型字段关联的所有内联字段?

Django ORM,按天分组

模型 Django 中的 ID 字段

如何在Django中获取一个组的所有用户?

Heroku - 在 Django 应用程序中处理静态文件

Python:获取异常的错误消息

从 virtualenv 中,pip freeze > requirements.txt 给出了一堆垃圾!如何修剪它?

如何在保存之前更改 Django 表单字段值?

引发 404 并继续 URL 链

将 jQuery 脚本添加到 Django 管理界面

django 如何知道已经运行了哪些迁移?

Django Admin - save_model 方法 - 如何检测字段是否已更改?

有没有一种简单的方法可以从 CharField 填充 SlugField?

Django:按位置排序,忽略 NULL

Django 字符串到日期格式