Добавить результат набора запросов к другому набору запросов
У меня есть 2 модели :
class ModelA(models.Model):
some_fields = ....
class ModelB(models.Model):
model_a = models.ForeignKey(Model_A)
Как я могу в моем наборе представлений ModelA вернуть ответ, который будет включать все ModelB, которые имеют model_a как FK? Могу ли я сделать это в функции get_queryset ?
Создайте сериализатор следующим образом :
class ModelASerializer(ModelSerializer):
class Meta:
model = ModelA
depth = 1
fields = "__all__"
При глубине = 1 будут показаны все значения полей всех FK как объект. Вам не нужно модифицировать queryset.
Кроме того, если вам нужны более специфические поля, вы можете создать другой сериализатор и добавить его в поля ModelASerializer и установить там данные FK в соответствии с вашими потребностями.