Django单亲和两个孩子的关系

Django单亲和两个孩子的关系,django,django-rest-framework,Django,Django Rest Framework,我是Django和Django Rest框架的新手。我正在跟踪一个。他使用了静态Django模板,但我想使用React作为前端。因此,我创建了多个api端点。在这一点上,我坚持展示特定客户购买的产品。我的项目的简短总结是:我有四个模型:订单、客户、产品和标签(产品和标签有多对多关系)。在订单模型中,我有两个外键,一个是产品,另一个是客户。这是我订购的型号。我不知道如何查询和显示特定客户(使用id)购买了什么样的产品 这是我的型号 from __future__ import unicode_li

我是Django和Django Rest框架的新手。我正在跟踪一个。他使用了静态Django模板,但我想使用React作为前端。因此,我创建了多个api端点。在这一点上,我坚持展示特定客户购买的产品。我的项目的简短总结是:我有四个模型:订单、客户、产品和标签(产品和标签有多对多关系)。在订单模型中,我有两个外键,一个是产品,另一个是客户。这是我订购的型号。我不知道如何查询和显示特定客户(使用id)购买了什么样的产品

这是我的型号

from __future__ import unicode_literals

from django.db import models

class Tag(models.Model):
    name= models.CharField(max_length=200, null=True)

    def __str__(self):
        return self.name

class Product(models.Model):
    CATEGORY=(
         ('Indoor', 'Indoor'),
         ('Outdoor', 'Outdoor'),

            )

    name= models.CharField(max_length=200, null=True)
    price= models.FloatField(null=True)
    category=models.CharField(max_length=200,null=True, choices=CATEGORY)
    description= models.CharField(max_length=200,null=True, blank= True)
    date_created=models.DateTimeField(auto_now_add=True, null=True)
    tags= models.ManyToManyField(Tag)

    def __str__(self):
        return self.name


class Customer(models.Model):
    name = models.CharField(max_length=200, null= True)
    email =  models.CharField(max_length=20, null=True)
    phone = models.CharField(max_length=20, null=True)
    date_created= models.DateTimeField(auto_now_add=True)
    def __str__(self):
        return self.name


class Order(models.Model):
    STATUS =(
         ('Pending', 'Pending'),
         ('Out of delivery', 'Out of delivery'),
         ('Delivered', 'Delivered'),

            )
    status= models.CharField(max_length=200, null=True,choices= STATUS)
    date_created=models.DateTimeField(auto_now_add=True, null=True)
    customer= models.ForeignKey(Customer, null= True, on_delete= models.SET_NULL)
    product= models.ForeignKey(Product, null= True, on_delete= models.SET_NULL)
from rest_framework import serializers
from .models import *

class TagSerializer(serializers.ModelSerializer):
    class Meta:
        model = Tag
        fields = ["name"]

class ProductSerializer(serializers.ModelSerializer):
    tags =  TagSerializer(many=True)
    class Meta:
        model = Product
        fields = '__all__'

class CustomerSerializer(serializers.ModelSerializer):
    products: ProductSerializer(many=True)
    class Meta:
        model = Customer
        fields = '__all__'


class OrderSerializer(serializers.ModelSerializer):
    customer = CustomerSerializer()
    product = ProductSerializer()
    class Meta:
        model = Order
        fields = '__all__'

class CustomerSerializer(serializers.ModelSerializer):
    products: ProductSerializer(many=True)
    orders: OrderSerializer(many=True)
    class Meta:
        model = Customer
        fields = '__all__'
这是连载

from __future__ import unicode_literals

from django.db import models

class Tag(models.Model):
    name= models.CharField(max_length=200, null=True)

    def __str__(self):
        return self.name

class Product(models.Model):
    CATEGORY=(
         ('Indoor', 'Indoor'),
         ('Outdoor', 'Outdoor'),

            )

    name= models.CharField(max_length=200, null=True)
    price= models.FloatField(null=True)
    category=models.CharField(max_length=200,null=True, choices=CATEGORY)
    description= models.CharField(max_length=200,null=True, blank= True)
    date_created=models.DateTimeField(auto_now_add=True, null=True)
    tags= models.ManyToManyField(Tag)

    def __str__(self):
        return self.name


class Customer(models.Model):
    name = models.CharField(max_length=200, null= True)
    email =  models.CharField(max_length=20, null=True)
    phone = models.CharField(max_length=20, null=True)
    date_created= models.DateTimeField(auto_now_add=True)
    def __str__(self):
        return self.name


class Order(models.Model):
    STATUS =(
         ('Pending', 'Pending'),
         ('Out of delivery', 'Out of delivery'),
         ('Delivered', 'Delivered'),

            )
    status= models.CharField(max_length=200, null=True,choices= STATUS)
    date_created=models.DateTimeField(auto_now_add=True, null=True)
    customer= models.ForeignKey(Customer, null= True, on_delete= models.SET_NULL)
    product= models.ForeignKey(Product, null= True, on_delete= models.SET_NULL)
from rest_framework import serializers
from .models import *

class TagSerializer(serializers.ModelSerializer):
    class Meta:
        model = Tag
        fields = ["name"]

class ProductSerializer(serializers.ModelSerializer):
    tags =  TagSerializer(many=True)
    class Meta:
        model = Product
        fields = '__all__'

class CustomerSerializer(serializers.ModelSerializer):
    products: ProductSerializer(many=True)
    class Meta:
        model = Customer
        fields = '__all__'


class OrderSerializer(serializers.ModelSerializer):
    customer = CustomerSerializer()
    product = ProductSerializer()
    class Meta:
        model = Order
        fields = '__all__'

class CustomerSerializer(serializers.ModelSerializer):
    products: ProductSerializer(many=True)
    orders: OrderSerializer(many=True)
    class Meta:
        model = Customer
        fields = '__all__'