【问题标题】:How do you display fields from a related model in admin.py?如何在 admin.py 中显示相关模型的字段?
【发布时间】:2017-02-05 09:52:47
【问题描述】:

我有以下型号:

class Property(models.Model):
    user = models.ForeignKey(User)
    id = models.CharField(max_length=20, null=True)

class Property_Value(models.Model):
    id = models.ForeignKey(Property)
    amount = models.DecimalField(max_digits = 10, decimal_places

如何在管理页面通过 Property 访问 Property_Value.amount?

到目前为止我有这个......

class PropertyAdmin(admin.ModelAdmin):
    list_display = ('id', 'user', 'property_value')

    def property_value(self, obj):
        return obj.id.amount

    class Meta:
        model = Property

admin.site.register(Property, PropertyAdmin)

【问题讨论】:

    标签: django django-models django-admin django-1.9


    【解决方案1】:

    在这种情况下,您正在与一个 Property 对象进行交互(因为您在 Meta 中定义了该对象) - 语法与 Django 中的其他地方相同。所以应该是obj.property_value.amount。如果您使用的是 PyCharm,您可以通过告诉 PyCharm 什么是“obj”来自动完成字段,如下所示:

    def property_value(self, obj: Property):
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2019-01-21
      • 1970-01-01
      相关资源
      最近更新 更多