Добавить результат набора запросов к другому набору запросов

У меня есть 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 в соответствии с вашими потребностями.

Вернуться на верх