我有一个看起来像这样的django模型:
LAlt & MButton::Send {Ctrl Down}{Shift Down}{RButton Down}
keywait, LAlt
keywait, MButton
LAlt & MButton Up::Send {Ctrl Up}{Shift Up}{RButton Up}
return
每次我创建ParentClass的实例时,我都需要确保我有一个有效的ChildClass对象。是否有适当的或标准的方法来创建这些"依赖"对象?我目前的计划是在class ChildClass(Model):
# define fields
class ParentClass(Model):
child1 = models.ForeignKey(ChildClass)
child2 = models.ForeignKey(ChildClass)
child3 = models.ForeignKey(ChildClass)
中创建子对象,并将其保存在__init__
中,如下所示:
save
有更好的方法吗?
答案 0 :(得分:1)
你可能想看看django信号DEMO HERE。在该模型的post_init信号上放置一个信号,并让它创建并关联子模型。
以下是信号列表https://docs.djangoproject.com/en/1.8/topics/signals/
例如:
@reciever(post_init, sender=ParentClass)
def on_parent_class_create(sender, **kwargs):
instance = kwargs['instance']
instance.child1 = ChildClass()
etc...
...