我有一个这样的模型
class Post(models.Model):
title = models.CharField(max_length = 50)
def get_vote_count(self):
"""This function is intended to return count of voted on thread.
:return: The sum of vote, upvote - devote
"""
vote_count = self.vote_set.filter(is_up=True).count() - self.vote_set.filter(is_up=False).count() +1
if vote_count >= 0:
return "+ " + str(vote_count)
else:
return "- " + str(abs(vote_count))
并且vote_count正在显示; post.get_vote_count,我希望能够在我的admin.py中控制它。
我试过这样的
class PostAdmin(admin.ModelAdmin):
fields = ['vote_count']
class Meta:
model = Post
但没有显示任何内容,有人可以帮助我吗?
答案 0 :(得分:1)
使用moidel方法时,您还需要将它们添加到readonly_fields列表中。
class PostAdmin(admin.ModelAdmin):
fields = ['vote_count']
readonly_fields = ['vote_count']
class Meta:
model = Post