繁体   English   中英

在创建另一个Django模型实例的同时创建一个Django模型实例

[英]Create a Django model instance concurrent with the creation of another Django model instance

我正在Django 1.11中创建一个简单的记录保存应用程序,该应用程序会依次记录游戏中发生的情况。 我想做的是创建游戏本能时自动创建第一个相关的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。

尝试使用.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)

有关保存方法的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM