如何解决使用ModelChoiceField
请帮助我,在使用ModelChoiceField
时如何减少数据库调用,因为它需要一个queryset
,并且我必须将其与递归外键一起使用,分别使用三次,代码如下:
init函数中的ModelForm代码
self.fields['category'] = forms.ModelChoiceField(queryset=queryset)
self.fields['super_category'] = forms.ModelChoiceField(queryset=)
self.fields['product_type'] = forms.ModelChoiceField(queryset=)
模型类:
class Category(ProjectBaseModel,AuditLogMixin):
parent_id = models.ForeignKey('self',related_name='children',blank=True,null=True,on_delete=models.CASCADE,verbose_name=_('Parent'))
我试图做的是在数组中收集所需类别的所有ID,并仅对它们进行一个过滤查询集,如下所示:
category = auction.category
super_category = category.parent_id
product_type = super_category.parent_id
ids= [category.id,super_category.id,product_type.id]
queryset = Category.objects.filter(id__in=ids)
如何继续该解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。