创建一个Django模型实例并创建另一个Django模型实例
问题描述:
我在Django 1.11中创建了一个简单的记录保存应用程序,该应用程序通过轮流跟踪游戏中发生的事情。我想要做的是当我创建一个Game的instince时自动创建第一个依赖的Turn实例。创建一个Django模型实例并创建另一个Django模型实例
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)
请提出一个更好的方法,因为我得到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)
反过来对象没有属性的游戏 –
感谢赶上,我写我的应用程序在脱机网络,所以我一定会错过在这里输入关键组件 –