当我尝试获取导致数百个查询的数据时,我有一些条目,每个条目都有数十个“标签”。虽然使用预取适用于我所有的其他模型和链接,但它似乎不适用于此。下面的帖子说它与 wagtails 假查询功能有关,但尚未修复。有没有办法利用标签,我可以通过 api 获取它们,这样它们就不会创建数百个查询(每个标签一个),使它们由于响应时间慢而无法使用?
您能提供的任何帮助将不胜感激。
这里提出了一个类似的问题,但没有答案 如何预取 Wagtail 帖子标签?
此外,当我使用 prefetch 时,它实际上使查询数量增加了一倍
这是我的代码:
# serializer.py////////////////////////////////////
# orderable models links
# Custom searializers to add custom display fields
class EventCollectionSerializer(serializers.ModelSerializer):
class Meta:
model = CategoryEventCollection
fields = ['id', 'collection_name', 'collection_event']
class TagSerializer(serializers.ModelSerializer):
class Meta:
model = Tag
fields = ['name', 'id']
# MAIN SERIALIZER PRIMARY FOCUS
class PrimaryFocusSerializer(serializers.HyperlinkedModelSerializer):
# assign fields to custom serializer
event_collection = EventCollectionSerializer(many=False)
tags = TagSerializer(many=True)
class Meta:
model = PrimaryFocus
fields = ['id',
'event_collection',
'title_major', …Run Code Online (Sandbox Code Playgroud)