这是这个question的后续.如何在父模型的内联中显示子模型上定义的属性?为了说明,我有这个模型:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True, primary_key=True, related_name='profile')
    ...
    @property
    def age(self):
        if self.birthday is None:
            return None

        td = datetime.date.today() - self.birthday
        return td.days / 365

问题是:我如何在用户的内联中显示"年龄"?这就是我所拥有的:

class UserProfileInline(admin.StackedInline):
    model = UserProfile
    fk_name = 'user'
    max_num = 1
    fieldsets = [
        ('Demographics', {'fields': ['birthday', 'age']}),
    ]

我try 了一些类似的操作,包括‘age()’、为内联定义一个‘get_age’getter等.它们会导致此错误的某些版本:

ImproperlyConfigured: 'UserProfileInline.fieldsets[1][1]['fields']' refers to field 'age' that is missing from the form.

推荐答案

同时将该字段添加到readonly_fields元组和fieldsets字段.

注意,这只适用于Django 1.2+.

Django相关问答推荐

Django 中主键的隐式 UUID 自动字段

Django allauth 社交帐户注册中邮箱的模板变量

Django 隐藏特定人员的媒体文件链接

如何使用邮箱确认码创建django注册

在Django测试get方法中获取HttpResponseNotFound

Django ORM __in 但不是精确的,包含不区分大小写的?

Django `UniqueConstraint` 异常处理方式与 'unique=True' 相同

在 Django 的 TextField 中禁用 HTML 转义

如何在 Django ORM 中执行 GROUP BY ... COUNT 或 SUM?

文档中的 Mongoengine creation_time 属性

测试 Django 信号的正确方法

如何从 django 的 db 模型中获取字段类型字符串

在 Django 中扩展 urlize

Django 国际化语言代码

django 管理员操作而不 Select 对象

django python 日期时间设置为午夜

Django:如何将数据保存到 ManyToManyField?

如何在 Django 中使用动态外键?

Django - 在设置中使用反向 url 映射

获取'str'对象在Django中没有属性'get'