【发布时间】:2017-02-16 01:00:48
【问题描述】:
我正在尝试在嵌套序列化程序中创建自定义 URL。 这是我的 serializer.py ->
class SerieSerializer(serializers.HyperlinkedModelSerializer):
created_by = serializers.ReadOnlyField(source='created_by.username')
picture = serializers.ImageField()
class Meta:
model = Serie
fields = ('url', 'name', 'genre', 'director', 'release', 'seasons', 'review', 'picture', 'actors', 'created_by')
结果如下:
[
{
"url": "http://localhost:8000/series/1/",
"name": "Mr. Robot",
"genre": "DRAMA",
"director": "Sam Esmail",
"release": "2015-06-24",
"seasons": 2,
"review": "Mr. Robot es una serie de televisión estadounidense creada por Sam Esmail. Se estrenó el 24 de junio de 2015 en la cadena USA Network. El mismo día la serie se renovó para una segunda temporada, estrenada el 13 de julio de 2016. El 16 de agosto del mismo año Mr. Robot fue renovado para una tercera temporada a estrenarse en 2017.",
"picture": "http://res.cloudinary.com/dqohbm9y4/image/upload/v1487190362/uasfb8maqzh9urp4bvrd.png",
"actors": [
"http://localhost:8000/actors/3/",
"http://localhost:8000/actors/4/"
],
"created_by": "mosthated"
}
]
但我需要这样的东西,在“演员”中:
[
{
"url": "http://localhost:8000/series/1/",
"name": "Mr. Robot",
"genre": "DRAMA",
"director": "Sam Esmail",
"release": "2015-06-24",
"seasons": 2,
"review": "Mr. Robot es una serie de televisión estadounidense creada por Sam Esmail. Se estrenó el 24 de junio de 2015 en la cadena USA Network. El mismo día la serie se renovó para una segunda temporada, estrenada el 13 de julio de 2016. El 16 de agosto del mismo año Mr. Robot fue renovado para una tercera temporada a estrenarse en 2017.",
"picture": "http://res.cloudinary.com/dqohbm9y4/image/upload/v1487190362/uasfb8maqzh9urp4bvrd.png",
"actors": [
"Rami Malek": "http://localhost:8000/actors/3/",
"Christian Slater": "http://localhost:8000/actors/4/"
],
"created_by": "mosthated"
}
]
我需要这个来发送配置文件以调用例如:以您的姓名作为 URL 转到“Rami Malek”配置文件,或显示它并使用您的主键显示 URL。
如果你能帮助我,非常感谢。
【问题讨论】:
标签: python django api django-rest-framework