Я смотрел на открытый исходный код 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 для предоставления значков