Я смотрел на клон с открытым исходным кодом Так,
http://github.com/cnprog/CNPROG
Я не знаю Python/Django, но я могу все еще считать то, что продолжается,
Разработчики, кажись, только награждать значки с заданиями крона, премии выделены методами, будучи "Правилами" Критериев, которым нужно соответствовать для достижения премии.
в этом файле, который является Критериями,
Все же В ответе на 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, Но дать пример с "правилом", "критериями" и проектированием баз данных
Они использовались бы с некоторыми "на пользовательское действие" и задания крона для предоставления значков