如何删除模型实例并创建另一个模型实例时修改用户资料?
我devoleping一个网站,你可以看到不同的比赛和投票为球队你认为会获胜。如何删除模型实例并创建另一个模型实例时修改用户资料?
当比赛结束时,我想在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
但是,当我做到这一点,没有任何反应。什么是需要这个工作?
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'),)
我要创建两个先例车型额外的投票模式缩进? 并有可能做什么,我是想? 感谢您的回答! – MagiPrince
@MagiPrince不,你不需要创建一个额外的模型,你可以取代你的第一个模型与预后投票模式。 –
我尝试你向我求婚的代码,但实际上是因为我填补后的数据模型投票从我的模板并没有工作。你认为有可能通过管理功能来做我想做的事吗? – MagiPrince
请修正你的粘贴代码 – Wasi