我正在尝试使用 Django Rest Framework 序列化程序为我的前端创建 API,以在商店中创建/更新和删除文章。这些文章可以有多个价格(取决于时间)。因此,商品(一)与价格(多)之间存在一对多关系。我已在中定义了这一点models.py:
class Article(models.Model):\n article_id = models.AutoField(primary_key=True, verbose_name="Article ID")\n article_name = models.CharField(max_length=250, verbose_name="Name")\n article_order = models.IntegerField(verbose_name="Order")\n\nclass Price(models.Model):\n price_id = models.AutoField(primary_key=True, verbose_name="Price ID")\n article_id = models.ForeignKey(Article, on_delete=models.CASCADE, verbose_name="Article ID", related_name="Prices")\n price_price = models.DecimalField(max_digits=6, decimal_places=2, verbose_name="Price")\nRun Code Online (Sandbox Code Playgroud)\n\n我的serializers.py 文件如下所示:
\n\nfrom rest_framework import serializers\nfrom .models import *\n\nclass PriceSerializer(serializers.ModelSerializer):\n\n class Meta:\n model = Price\n fields = (\'price_price\',)\n\nclass ArticleSerializer(serializers.ModelSerializer):\n\n Prices = PriceSerializer(many=True)\n\n def create(self, validated_data):\n prices_data = validated_data.pop(\'Prices\')\n article = Article.objects.create(**validated_data)\n for price_data in prices_data:\n Price.objects.create(article_id=article, **price_data)\n …Run Code Online (Sandbox Code Playgroud)