Django中的社交游戏机制

时间:2010-03-28 22:14:27

标签: django django-models social-networking

我希望用户在我的应用程序中接收完成各种任务的“积分” - 从标记对象到交友等任务。我还没有找到简化这个的Django应用程序。

目前我认为积累积分的最佳方法是每个用户操作都会创建“流项目”的等价物,并通过计算发布到其流中的每个操作的值来计算积分。 / p>

显然,社交游戏机制是一个很大的领域,目前正在进行大量的研究。但从发展的角度来看,最简单的入门方式是什么?我是在错误的轨道上还是有更好/更简单的方法?

编辑:对于任何想要非常简单的实现的人来说:

对于任何对此想法非常简单的实现感兴趣的人,请尝试创建一个“日志记录”应用程序并将其放入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

,请参阅此文档

1 个答案:

答案 0 :(得分:2)

“流项目”?从来没有听说过。

“Log”是有道理的。听起来你要在表格中记录事件。对记录的事件求和或计数。这是最简单,最具扩展性的。

你可以定期总结(每小时为社交群众,每天为小人群)。