Python 如何在admin.py的models.py中控制函数的输出
这就是我想做的:我有一个帖子模型,人们可以在这个帖子上投票。投票的计算是通过mymodels.py中的函数完成的。我希望能够在models.py中控制投票。希望有了代码,问题就更清楚了Python 如何在admin.py的models.py中控制函数的输出,python,django,Python,Django,这就是我想做的:我有一个帖子模型,人们可以在这个帖子上投票。投票的计算是通过mymodels.py中的函数完成的。我希望能够在models.py中控制投票。希望有了代码,问题就更清楚了 class Post(models.Model): title = models.CharField(max_length = 100) moderator = models.ForeignKey(User) views = models.IntegerField(default=0)
class Post(models.Model):
title = models.CharField(max_length = 100)
moderator = models.ForeignKey(User)
views = models.IntegerField(default=0)
slug = models.CharField(max_length=255, unique=True)
content = RichTextUploadingField(config_name='default')
get_vote_count = models.IntegerField(default=1)
def get_vote_count(self):
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))
在admin.py中
class PostAdmin(admin.ModelAdmin):
fields = ['category','url','video','title',
'content','image','get_vote_count']
readonly_fields = ('get_vote_count',)
class Meta:
model = Post
然后get_vote_count显示投票,但我无法控制它。有人能教我怎么做吗?get\u vote\u count,因为字段和方法都不跟踪。此外,您还需要第二个带有foreignkey的模型,以便有投票集管理器。为了调用该函数,您需要一个事件来触发它。从逻辑上看,这似乎与投票活动有关。你在哪里投票?是在admin中还是在app views.py方法中?还是别的地方?