我正在Django 1.11中创建一个简单的记录保存应用程序,它可以逐个跟踪游戏中发生的事情。我想做的是当我创建一个游戏的instince时自动创建第一个依赖的Turn实例。
class Game(models.Model):
name = models.Charfield(param)
active = models.BooleanField(param)
def __init__(self, *args, **kwargs):
super(Game, self).__init__(*args,**kwargs)
Turn(game=self, turn=1).save()
class Turn(models.Model):
turn = models.IntergerField(param)
game = models.ForeignKey(Game, on_delete=models.CASCADE)
请建议一个更好的方法,因为我在save方法上得到了ValueError。
答案 0 :(得分:0)
尝试使用.create
方法和save()
函数代替__init__
,如:
def save(self, *args, **kwargs):
super(Blog, self).save(*args, **kwargs) # Call the "real" save() method.
Turn.objects.create(turn=1, game=self)