我有一个django模型,看起来像这样:
class ChildClass(Model):
# define fields
class ParentClass(Model):
child1 = models.ForeignKey(ChildClass)
child2 = models.ForeignKey(ChildClass)
child3 = models.ForeignKey(ChildClass)
每次创建ParentClass实例时,我都需要确保有有效的ChildClass对象。有没有一个合适的或标准的方法来创建这些“依赖”对象?我当前的计划是在__init__
中创建子对象,并将它们保存在save
,如下所示:
class ChildClass(Model):
# define fields
class ParentClass(Model):
child1 = models.ForeignKey(ChildClass)
child2 = models.ForeignKey(ChildClass)
child3 = models.ForeignKey(ChildClass)
def __init__(self):
child1 = ChildClass()
child2 = ChildClass()
child3 = ChildClass()
def save(self, *args, **kwargs):
# save each child obejct if it hasn't been saved yet
for child in [child1, child2, child3]:
if child.pk is None:
child.save()
super(ParentClass, self).save(*args, **kwargs)
有更好的办法吗?你知道吗
您可能想看看django信号https://docs.djangoproject.com/en/1.8/topics/signals/。在这个模型的post\ init信号上放置一个信号,让它创建并关联子模型。你知道吗
以下是信号列表https://docs.djangoproject.com/en/1.8/ref/signals/
例如:
相关问题 更多 >
编程相关推荐