2015-11-21 44 views
7

我想用Django REST框架获得用户组,但只有我得到的是名为“groups”的空字段。如何使用Django-Rest-Framework序列化用户组

这是我UserSerializer:

class UserSerializer(serializers.ModelSerializer):  
    class Meta: 
     model = User 
     fields = ('url', 'username', 'email', 'is_staff', 'groups') 

任何想法如何让用户组数据?

在此先感谢

+0

HTTP://www.django-rest-framework。 org/api-guide/serializers /#specified-nested-serialization – hsfzxjy

回答

15

您必须指定它的嵌套关系:

class GroupSerializer(serializers.ModelSerializer):  
    class Meta: 
     model = Group 
     fields = ('name',) 

class UserSerializer(serializers.ModelSerializer):  
    groups = GroupSerializer(many=True) 
    class Meta: 
     model = User 
     fields = ('url', 'username', 'email', 'is_staff', 'groups',) 

的更多信息,请文档:Nested relationships

+0

您忘记在GroupSerializer中的'name'后添加逗号。它应该是:fields =('name',) – Scott

+0

感谢您的帮助! –

相关问题