在模型的 __init__ 中创建关系(在 Django 中)
让我们假设我现在有以下模型
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 方法将使我的控制器更加简单。有办法避免这个问题吗?
Lets assume I had the following Model
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')
now as you might suspect, there is an error in this Model definintion, as one cannot create a relation to the A instance before ainstance.save() has been called. However, this type of init method would make my controllers much simpler. Is there a way to avoid this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将此代码放入
A
的重写save
方法中:You can put this code in an overridden
save
method ofA
: