【问题标题】:Django Rest Framework: empty list when using RelatedFieldDjango Rest Framework:使用 RelatedField 时为空列表
【发布时间】:2014-08-21 06:13:27
【问题描述】:

我有以下 django 模型

class Cast(models.Model):
    coordinates = models.PointField()

class CastImage(models.Model):
    image = models.ImageField(upload_to="castimages")
    cast = models.ForeignKey(Cast, blank=True, null=True, related_name='images')

和下面的序列化器

class CastSerializer(serializers.ModelSerializer):
    images = serializers.RelatedField(many=True)
    class Meta:
        model = Cast
        fields = ('images',)

这一切似乎与文档中的内容非常相似:http://www.django-rest-framework.org/api-guide/relations#relatedfield

但是当我测试 Cast 对象的序列化程序时,虽然这些 Cast 对象确实有图像(我检查过),但我只得到空图像列表:

"results": [
        {
            "images": []
        }, 
        {
            "images": []
        }, 
        {
            "images": []
        } ]

我错过了什么?

【问题讨论】:

标签: python django django-rest-framework


【解决方案1】:

如果您通过Cast 访问图像,我猜您的字段是错误的。 怎么样

class CastSerializer(serializers.ModelSerializer):
  images = serializers.RelatedField(many=True)
  class Meta:
    model = Cast
    fields = ('castimage__image',)

【讨论】:

  • 不,我不认为这是问题所在:它只是不加载应该加载的图像,因为我使用了正确的“related_name”。
猜你喜欢
  • 2021-09-18
  • 2016-07-03
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多