Django Rest Framework:使用RelatedField时出现空列表
我有以下的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": []
} ]
我漏掉了什么呢?
1 个回答
1
如果你是通过 Cast
来访问图片,我猜你的字段设置可能有问题。试试这个:
class CastSerializer(serializers.ModelSerializer):
images = serializers.RelatedField(many=True)
class Meta:
model = Cast
fields = ('castimage__image',)