Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.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
Python 如何在admin.py的models.py中控制函数的输出_Python_Django - Fatal编程技术网

Python 如何在admin.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)

这就是我想做的:我有一个帖子模型,人们可以在这个帖子上投票。投票的计算是通过mymodels.py中的函数完成的。我希望能够在models.py中控制投票。希望有了代码,问题就更清楚了

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方法中?还是别的地方?