首先,
append
是的方法
list
而fk关系绝对不是一个列表。第二,你已经使用了
related_name='foo'
在你的
Bar
模型,所以实际上你可以
酒吧
从
Foo
通过使用
foo.foo
. 我确信这是一个错误。只要一个
福
可以有很多
酒吧
,您的
related_name
应该是
bars
,这样您就可以使用
foo.bars.all()
.
创建
酒吧
你应该先救你的
福
,所以使用
commit=True
.
最后一个。在循环使用中
Bar.objects.create(foo=self.object)
.
您还想使用
bulk_create
为了优化这个循环,您不需要对数据库进行30次查询,而只需要一次查询。要实现它,请创建一个列表
bars = []
循环前。比内部循环使用
bars.append(Bar(foo=self.object)
. 在这里
追加
是的方法
列表
,因此您只需创建
酒吧
对象而不将其保存到数据库中。最后循环使用后
Bar.objects.bulk_create(bars)
将它们实际保存到数据库中。
我重读了你的问题,也许我错过了要点。你想如何“找到”你的
酒吧
?此外,不能添加多个
福
给你的
酒吧
因为它如果fk这意味着单个对象。