我的查询集中有“ 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')
感谢您的回应。