我正在尝试制作一个带有两个 API、配料和披萨的基本披萨应用程序。当我删除配料时,我希望相应的披萨也被删除,因为配料不再可用。就目前而言,当我删除配料时,它只会保留一个空的披萨对象。
楷模:
class Toppings(models.Model):
name = models.CharField(max_length=60, unique=True)
def __str__(self):
return self.name
class Pizza(models.Model):
name = models.CharField(max_length=60, unique=True)
topping = models.ManyToManyField(Toppings, max_length=60, related_name="toppings")
def __str__(self):
return (self.name, self.topping)
Run Code Online (Sandbox Code Playgroud)
序列化器:
class PizzaSerializer(serializers.ModelSerializer):
toppings = ToppingsSerializer(read_only=True, many=True)
class Meta:
model = Pizza
fields = "__all__"
class ToppingsSerializer(serializers.ModelSerializer):
class Meta:
model = Toppings
fields = "__all__"
Run Code Online (Sandbox Code Playgroud)
Pizza.views 和 Toppings.views 几乎相同,所以我只包含 Pizza。
class PizzaList(generics.ListAPIView):
queryset = Pizza.objects.all()
serializer_class = PizzaSerializer
class PizzaCreate(generics.CreateAPIView):
queryset = Pizza.objects.all()
serializer_class = PizzaSerializer
class PizzaUpdate(generics.UpdateAPIView):
queryset = Pizza.objects.all() …Run Code Online (Sandbox Code Playgroud) python django django-models django-views django-rest-framework