Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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 Django每月更新每个用户的_分数,以及他们所有帖子的总喜欢度_Python_Sql_Django_Database - Fatal编程技术网

Python Django每月更新每个用户的_分数,以及他们所有帖子的总喜欢度

Python Django每月更新每个用户的_分数,以及他们所有帖子的总喜欢度,python,sql,django,database,Python,Sql,Django,Database,我想为每个用户的个人资料更新每月_分数字段 我有一个Post模型,它有一个方法返回Post的like,名为like\u count 如何使用: Profile.objects.update(monthly_score=Subquery()) 要在这个月获得用户的帖子并返回他们所有喜欢的帖子吗 我试过了,但没用: Profile.objects.update( monthly_score = Subquery( Post.objects.filter(

我想为每个用户的个人资料更新每月_分数字段

我有一个Post模型,它有一个方法返回Post的like,名为like\u count

如何使用:

Profile.objects.update(monthly_score=Subquery()) 
要在这个月获得用户的帖子并返回他们所有喜欢的帖子吗

我试过了,但没用:

Profile.objects.update(
    monthly_score = Subquery(
        Post.objects.filter(
            user = Profile.user,
            date_posted__month = today.month
        ).aggregate(Sum(like_count))
    )
)
那怎么办? 大概是这样的:

[Profile.objects.filter(pk = profile_item.pk).update(
    monthly_score = sum(
        [post_item.like_count() for post_item in Post.objects.filter(
            user = profile_item.user, 
            date_posted__month = today.month
        )]
    )
) for profile_item in Profile.objects.all()]

附言:修复了@AlphaDjango在评论中写的错误。

为什么不起作用?你有错误吗?如果是,错误/回溯是什么?现在的错误在部分user=Profile中。在/leadboard/字段'id'返回TypeError的用户需要一个数字,但得到了。谢谢,这就是我要找的。然而,当我运行代码时,我得到一个错误“Profile”对象没有属性“update”。我是否需要向概要文件添加更新方法,或者是否有其他方法解决此问题?ThanksI对QuerySet上的作品进行了一些搜索和更新,我相信profile_项只是一个对象,所以我不能对其使用更新。还有别的办法吗?