oli*_*and 5 django django-models social-networking
我希望用户在我的应用程序中接收完成各种任务的"积分" - 从标记对象到交友等任务.我还没有找到一个简化这个的Django应用程序.
目前我认为积累积分的最佳方式是每个用户操作创建相当于"流项目"的积分,并通过计算发布到其流的每个操作的值来计算积分.
显然,社交游戏机制是一个很大的领域,目前正在进行大量的研究.但从发展的角度来看,最简单的入门方式是什么?我是在错误的轨道上还是有更好/更简单的方法?
编辑:对于任何想要非常简单的实现的人:
对于那些对这个想法非常简单的实现感兴趣的人,尝试创建一个"日志记录"应用程序并将其放在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)
Run Code Online (Sandbox Code Playgroud)
如果您发现post_save发出两次,请参阅此文档:http://code.djangoproject.com/wiki/Signals#Helppost_saveseemstobeemittedtwiceforeachsave
“流项目”?以前从未听说过。
“日志”是有道理的。听起来您要将事件记录在表中。对记录的事件进行求和或计数。这是最简单、最可扩展的。
您可以定期进行总结(对于大型社交人群,每小时一次,对于小规模人群,每天一次)。
归档时间: |
|
查看次数: |
598 次 |
最近记录: |