Я хочу, чтобы пользователи получали «очки» для выполнения различных задач в моем приложении - от таких задач, как тегирование объектов и создание друзей. Я еще не нашел приложение Django, которое упрощает это.Социальная игра механики в Django
В данный момент я думаю, что лучший способ накопления очков состоит в том, что каждое действие пользователя создает эквивалент «элемента потока», а точки вычисляются путем подсчета значения каждого действия, опубликованного в их потоке.
Очевидно, что социальная игровая механика - это огромная область с большим количеством исследований, происходящих на данный момент. Но с точки зрения развития, что самый простой способ начать работу? Я нахожусь на неправильном пути или есть лучшие/более простые способы?
Edit: для тех, кто хочет очень простую реализацию этого:
Для тех, которые были бы заинтересованы в очень простой реализации этой идеи пытаются создать «Logging» приложение и положить это в models.py :
log_models = [Tag, Post, Vote]
class Point(models.Model):
# model fields
def increase_score(sender, instance, signal, *args, **kwargs):
# score logic
for model in log_models:
post_save.connect(increase_score, sender=model)
post_delete.connect(decrease_score, sender=model)
Обратитесь к этому документу, если вы обнаружите, что post_save дважды излучающие: http://code.djangoproject.com/wiki/Signals#Helppost_saveseemstobeemittedtwiceforeachsave