与在数据库中使用视图表相关的Django预取

时间:2019-09-14 01:34:09

标签: django orm

我已设置查询:

queryset = Cart.objects.filter(deleted_at__isnull=True)\
    .filter(status__in=['sent', 'inbound'])\
    .annotate(**self.get_annotated_fields)\
    .select_related('agent', 'agent_buyer')\
    .prefetch_related('agentcost_set','viewcartdetail_set')

该代码不适用于错误消息Cannot find 'viewcartdetail_set' on Cart object, 'viewcartdetail_set' is an invalid parameter to prefetch_related()

当我执行此代码以显示该对象的所有关系时。

>>> from apps.models_helper.cart import Cart
>>> a = Cart.objects.get(pk=3682)
>>> a._meta.get_fields()

我发现了一个viewcartdetail关系,但是为什么我不能将prefetch_related中的viewcartdetail_set做一个?我的代码怎么了?

注意:viewcartdetail是数据库中视图表的模型

(<ManyToOneRel: apps.cart>, <ManyToOneRel: apps.viewcartdetail>,...)  

1 个答案:

答案 0 :(得分:0)

这是我在ViewCartDetail.cart中设置related_name时解决的