我正在尝试使用Angular 6和Django Rest Framework为作业应用程序创建一个演示网站。我的一个应用领域涉及将您的兴趣列在芯片输入字段中,如this one。
发送到我的API的JSON看起来像这样:
{
...
'firstname': 'Firstname',
'lastname': 'Lastname'
...
'interests': ['hobby1', 'hobby2', 'hobby3', 'hobby4'],
...
}
据我所知,Django REST Framework提供了一个类似这样的序列化器字段:
interests = serializers.ListField(
item = serializers.CharField(min_value=xx, max_value=xx)
)
我的问题是,如何从这里开始?我使用哪些模型字段,或者我是否必须创建自己的保存功能来迭代兴趣并保存每一个?
答案 0 :(得分:1)
你要找的东西很多很多。
您甚至可以使用嵌套的序列化程序,因此父对象的输出将包含JSON中的序列化兴趣。
class ParentSerializer(serializers.ModelSerializer):
child_set = ChildSerializer(many=True)
class Meta:
depth = 1
model = Parent
fields = ('id', 'other_atributes', 'child_set')
此外,您可以在Django Admin中轻松编辑这些关系,如果您有兴趣,也可以发布该片段。
'interests': ['hobby1', 'hobby2', 'hobby3', 'hobby4']
这基本上是有效的JSON,所以你可以在最后轻松地解析它。