我开辟了一个网站,在那里你可以看到不同的比赛并投票给你认为会赢的球队。
当比赛结束时,我想在django
管理员中创建一个匹配项和匹配获胜者的实例,删除所有投票并为每个投票给获胜团队的用户添加积分。
这些是我的模特:
class Prognostic(models.Model):
match = models.IntegerField()
user = models.IntegerField()
vote = models.CharField(max_length = 100)
def __str__(self):
return self.vote
class MatchResult(models.Model):
match = models.ForeignKey("MatchOpponents")
winner = models.ForeignKey("TeamGGC")
@receiver(post_save, sender=Prognostic)
def voteRepartitionPoints(sender, instance, **kwargs):
profil = apps.get_model("userMembers", "Profil")
for prognostic in Prognostic().object.filter(match = match_id):
if prognostic.vote == winner:
user = profil.object.get(user_id = prog.user)
user.nbGGCPoints += 50
user.save()
prognostic.delete()
def __int__(self):
return self.match
但是当我这样做时,没有任何反应。要让它发挥作用需要什么?
答案 0 :(得分:0)
Yoc可以创建投票模型,然后继续。
class Vote(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
value = models.BooleanField(default=True)
match = models.ForeignKey("MatchOpponents")
class Meta:
unique_together = (('user', 'match'),)