【问题标题】:My serializer is returning index instead of the actual fields我的序列化程序返回索引而不是实际字段
【发布时间】:2018-06-29 12:25:12
【问题描述】:

我是 Django 新手,我一直在尝试序列化名为 MoviesCategories 的模型对象。

class MoviesCategories(models.Model):
    name = models.CharField(max_length=120, null=False)

    def __str__(self):
        return self.name

还有一个Movie模型如下

class Movie(models.Model):
    name = models.CharField(max_length=120, null=False)
    thumbnail = models.CharField(max_length=120, null=False)
    source_url = models.CharField(max_length=500, null=False)
    duration = models.TimeField(default=timedelta(hours=2))
    added_on = models.DateTimeField(auto_now_add=True)
    category = models.ForeignKey(MoviesCategories, related_name="movies", on_delete=models.DO_NOTHING)

    def __str__(self):
        return self.name

    class Meta:
        ordering = ('added_on',)

我的MoviesCategoriesSerializer 看起来像这样

class MoviesCategoriesSerializer(serializers.ModelSerializer):
    class Meta:
        model = MoviesCategories
        fields = ('name', 'movies')

当我这样做时,我从这个序列化程序中得到了什么 MoviesCategoriesSerializer(MoviesCategories.objects.first()).data {'movies': [1, 2], 'name': 'Animations'} 我也希望得到电影的领域。我创建了一个MovieSerializer

class MovieSerializer(serializers.ModelSerializer): class Meta: model = Movie fields = ('name', 'thumbnail', 'source_url', 'duration') 但我不知道如何将两者联系起来 MoviesCategoriesSerializer(MoviesCategories.objects.first()).data 将第一类中的所有电影返回给我

【问题讨论】:

    标签: django python-3.x serialization django-rest-framework django-serializer


    【解决方案1】:

    您需要将MovieSerializer 添加为MoviesCategoriesSerializer 字段:

    class MoviesCategoriesSerializer(serializers.ModelSerializer):
        movies = MovieSerializer(many=True, read_only=True)
        class Meta:
            model = MoviesCategories
            fields = ('name', 'movies')
    

    查看详情here

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      相关资源
      最近更新 更多