将客户端计算字段添加到django admin

时间:2013-01-11 20:39:41

标签: django django-admin

说我有这样的模型:

class Spam(models.Model):
    a = models.IntegerField()
    b = models.IntegerField()

在admin创建/编辑表单上。我想添加一个不可编辑的字段“c”,它将包含在a和b中输入的任何内容的总和。

我对如何实现这一点有很多想法,但这些想法听起来都不是很好。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:14)

您可以使用ModelAdmin.readonly_fields

执行此操作
class SpamAdmin(admin.ModelAdmin):
    readonly_fields = ('get_c',)
    fields = ('a', 'b', 'get_c')

    def get_c(self, obj):
        return obj.a + obj.b