Django - Rest Framework Несколько моделей - программирование

Django - Rest Framework Несколько моделей

Я начинаю использовать Django Rest Framework, это отличный инструмент!

Я действительно застрял в чем-то легком, но не могу понять, как это сделать... У меня есть две модели: CustomUser и Order. Здесь CustomUser имеет от 0 до многих ордеров.

Я хотел бы создать JSON HTTPResponse в следующем формате:

{
"user": {
    "city": "XXX", 
    "firstName": "XXX", 
    "zip": "XXX", 
    "taxNumber": "XXX", 
    "lastName": "XXX", 
    "street": "XXX", 
    "country": "XXX", 
    "email": "XXX"}, 
"orders": [{
        "id": "XXX",
        "plan": "XXX",
        "date": "XXX",
        "price": "XXX"
    }]
}

У меня уже есть мой пользователь в сеансе (запрос), и я беру необходимые Заказы со следующей строкой:

# 2. Load user orders
orders = Order.objects.filter(user=request.user)

Я создал два сериализатора "OrderSerializer (serializers.ModelSerializer)" и "CustomUserSerializer (serializers.ModelSerializer)", но я не знаю, как объединить оба в ожидаемый результат.

Большое спасибо за вашу помощь.

С наилучшими пожеланиями

4b9b3361

Ответ 1

Вопрос старый, поэтому на него, возможно, ответили, но что-то вроде этого должно работать:

class OrderSerializer(serializers.ModelSerializer)
    class Meta:
        model = Order

class UserSerializer(serializers.ModelSerializer)
    orders = OrderSerializer(many = True)
    class Meta:
        model = user
        fields = ('city', 'firstName', 'zip', 'taxNumber', 'lastName', 'street', 'country', 'email', 'orders')

Спасибо,

СС