我正在使用django_rest_framework开展Django项目。我正在尝试创建一个序列化程序,该序列化程序将具有他所属的所有组的用户作为简单数组返回。
例如:
{
"username": "John Doe",
"groups": "[Group1, Group2]"
}
我当前的配置会将组作为对象返回并添加属性名称,因此我之前的示例很遗憾地返回如下:
{
"username": "John Doe",
"groups": "[{"name":"Group1"},{"name":"Group2"}]"
}
你能用django_rest_framework获得我想要的效果吗?这是我的序列化器:
serializers.py
from django.contrib.auth.models import User, Group
from rest_framework import serializers
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('name',)
class UserSerializer(serializers.ModelSerializer):
groups = GroupSerializer(many=True)
class Meta:
model = User
fields = ('username', 'groups')
答案 0 :(得分:3)
您可以使用SerializerMethodField。
var day = new Date().getDay();
if ((day & 1) == 0)
{
greetings = "even";
}
else
{
greetings = "odd";
}
答案 1 :(得分:0)
尝试覆盖GroupSerializer的to_representation
方法:
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('name',)
def to_representation(self, obj):
return obj.name
没有测试过,请检查一下是否有效。