如何在admin.py中显示相关模型的字段?

时间:2016-09-27 16:46:29

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

我有以下型号:

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)

1 个答案:

答案 0 :(得分:0)

在该实例中,您与Property对象进行交互(因为您在Meta中定义了它) - 语法与Django中的其他语法相同。所以它会是obj.property_value.amount。如果你正在使用PyCharm,你可以通过告诉PyCharm' obj'来获得该字段的自动完成功能。就像这样:

def property_value(self, obj: Property):