Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将计算列添加到django模型';谁的列表页?_Django_Templates_Views - Fatal编程技术网

如何将计算列添加到django模型';谁的列表页?

如何将计算列添加到django模型';谁的列表页?,django,templates,views,Django,Templates,Views,我有一个模型 class Thingie(models.Model): thingie_name = models.CharField(max_length=16, unique=True) interesting_property = models.BogusField(...) …并在admin.py中: class ThingieAdmin(adimn.ModelAdmin): list_display = ('thingie_name', 'interesti

我有一个模型

class Thingie(models.Model):
    thingie_name = models.CharField(max_length=16, unique=True)
    interesting_property = models.BogusField(...) 
…并在admin.py中:

class ThingieAdmin(adimn.ModelAdmin):
    list_display = ('thingie_name', 'interesting_property')
当我查看管理页面时,我看到如下内容:

Select Thingie to change

Thingie name    | Interesting property
monkey_nuggets  | you really don't want to know
yodeling_yoda   | this is going downhill fast
我希望这里有第三个字段,一个生成的URL:

Thingie name    | ... | For more info...
monkey_nuggets  | ... | http://foo.com/thingie/monkey_nuggets
yodeling_yoda   | ... | http://foo.com/thingie/yodeling_yoda

请注意,我不希望将人员发送到此属性的编辑页面。我只需要一种方法来影响视图的呈现,这样我就可以插入一个数据库不支持的自定义列,它只是根据其他值之一进行计算。

您可以在模型管理中定义一个方法来完成此操作

class ThingieAdmin(admin.ModelAdmin):
    list_display = ('thingie_name', 'interesting_property', 'computed_property',)

    def computed_property(self, obj):
        # Do anything here
        return value

当我四处探索时,我发现了大致相同的答案,但我缺少的一点是我需要添加(到ThingieAdmin)computed_property.allow_tags=True。