我的模型的相关部分:
class Item(PolymorphicModel):
rating = models.DecimalField(default=0.0, max_digits=5, decimal_places=2)
picture = models.URLField(max_length=200)
category = models.ForeignKey('Category', related_name='items')
# url_list
class Movie(Item):
title = models.CharField(max_length=200)
description = models.CharField(max_length=2000)
...
我想在Item类中有一个url列表。此列表应在影片对象序列化程序中序列化。
到目前为止,我尝试创建一个以这种方式表示URL的模型:
class Url(models.Model):
url = models.URLField(max_length=200)
item = models.ForeignKey('Item', related_name='pictures')
但是当电影序列化时,我得到一个空列表。我的序列化器是:
class UrlSerializer(serializers.ModelSerializer):
class Meta:
model = ScrollerPictureUrl
fields = ('url',)
class MovieSerializer(serializers.ModelSerializer):
urls = UrlSerializer(many=True)
class Meta:
model = Movie
exclude = ('polymorphic_ctype', 'category')
我需要知道如何序列化Movie对象的url列表,使其不为空。
答案 0 :(得分:0)
这就是我最后做的事情:
class MovieSerializer(serializers.ModelSerializer):
urls = serializers.SlugRelatedField(many=True, slug_field='url')
class Meta:
model = Movie
exclude = ('polymorphic_ctype', 'category')