我一直在看 SO 的开源克隆,
http://github.com/cnprog/CNPROG
我不知道 Python/Django,但我仍然可以阅读发生了什么,
开发人员似乎只授予 cron 工作的徽章,奖励是通过方法颁发的,是必须满足的标准的“规则”才能获得奖励。
在这个文件中,这是标准,
然而,在对best-way-to-store-badge-criteria的回答中,它说不要运行类似的查询,
"select count(*) from posts where user = :user"// for every post.
这有点像 CNPROG 方法,但改为
有一个简单的规则来观察每个帖子,并“计算它们”,将规则状态存储在用户配置文件中。
因此,通过“计算它们”一词,这是否意味着将所有内容记录在一张表中会更好,例如,
class UserStats
int voteUpCount
int voteDownCount
int score
int commentCount
int viewCount
int offensiveFlagCount
int imageCount
int feedbackCount
int commentEditCount
int commentDeleteCount
int questionCount
int questionEditCount
int questionDeleteCount
然后根据这些数据制定规则if(commentCount > 10)...
,对用户发布的每条评论进行简单的处理,然后执行 SQL 查询
Q如果有人可以进一步解释问题best-way-to-store-badge-criteria的答案,但举一个“规则”、“标准”和数据库设计的例子
这些将与一些“每个用户操作”和 cron 作业一起使用以提供徽章