Я пытаюсь использовать метод выбора select_related с помощью сериализаторов DRF, , но этот пример по-прежнему выполняет множество запросов sql.select_related queryset с ModelSerializer в каркасе отдыха Django
Как я могу получить связанный объект «model_b» от метода select_related?
class Model_A(models.Model):
title = models.CharField(max_length=100)
description = models.TextField()
model_b = models.ForeignKey(Model_B, null=True, blank=True)
class Model_B(models.Model):
title = models.CharField(max_length=100)
class Model_A_Serializer(serializers.ModelSerializer):
model_b = Model_B_Serializer(source="model_b")
class Meta:
model = Model_A
fields = ('title', 'model_b')
class Model_B_Serializer(serializers.ModelSerializer):
class Meta:
model = Model_B
class Model_A_View(viewsets.ModelViewSet):
serializer_class = Model_A_Serializer
queryset = Model_A.objects.select_related('model_b').all()
Там могут быть некоторые проблемы с фактическим кодом, но он должен работать нормально, как написано выше. Мне нужно больше информации. –
Я голосую, чтобы закрыть этот вопрос как вне темы, потому что вы не включили SQL-запросы, которые вы получаете. Основываясь на том, что вы написали, ваш код должен работать нормально. – YPCrumble