在最终的Django queryset值中使用prefetch_related模型字段

时间:2018-12-02 07:53:52

标签: django-1.11

我的查询集中有“ table2”以下的prefetch_related。

当我使用“ only()”来获取作为字段对象时,我可以获取table2条目并进行迭代。但是,当我使用值时,最终输出中将获得table2的table1_id(预取)。

table1与table2具有许多字段映射。

我可以尝试 instance .__ dict __ 获得类似的效果。但是它并没有给出很多的或前途的字段或预取的模型。 getattr(model_instance,name),其中name是字符串,它会根据字符串参数获取值。 如果可以通过values()实现,那将很容易。

无论如何,我可以使用值并获取table2条目作为列表或其他对象。有可能吗?

queryset = table1.objects.prefetch_related(Prefetch('table2',
                    queryset=Table2.objects.only('name'))).values(
                    'id',
                    'name',
                    'description',        
                    'table2',                
                    ).order_by('id')

感谢您的回应。

0 个答案:

没有答案