让我们假设我有以下模型
class A(Models.model):
def __init__(self,data):
B(a=self,data=data).save()
class B(Models.model):
data = somefieldtype
a = Models.models.ForeignKey('A')
现在您可能会怀疑,此模型定义中存在错误,因为在调用ainstance.save()之前无法创建与A实例的关系。但是,这种类型的init方法会使我的控制器更加简单。有没有办法避免这个问题?
答案 0 :(得分:2)
您可以将此代码放在save
的重写A
方法中:
def save(self,**kwargs):
super(A,self).save(**kwargs)
B(a=self,data=data).save()