在具有manyToMany字段的django表单中 - 当您添加新条目时,是否有数据库调用来检索列表中的每个对象?这有必要/浪费吗?
例如:
类MyForm(ModelForm): likes = forms.ModelMultipleChoiceField(queryset = Videos.objects.all())
...
表单随项目ID列表一起提交。在clean()方法中,like会成为Video对象的列表。但是你可以这样做:
self.instance.likes.add()...无需获取对象。
...
在更新关系之前首先检索对象是否浪费?如果没有,为什么?
答案 0 :(得分:0)
我会说,每次保存表单时,它都会评估您传递的查询集,以检查每个ID是否在该查询集中。如果您希望优化行为,请尝试继承ModelMultipleChoiceField并删除检查/使其更加简化。