首页 > 解决方案 > 如何列出 Django 中的所有用户组?

问题描述

我正在尝试列出用户,同时将组添加到每个用户中。

我怎样才能做到这一点?

下面是我正在尝试做的一个例子。

谢谢你。

串行器

class serializerUser(serializers.Serializer): 
     id           = serializers.PrimaryKeyRelatedField(read_only=True) 
     first_name   = serializers.CharField() 
     last_name    = serializers.CharField() 
     groups       = serializers.CharField() 
     password     = serializers.CharField(write_only=True) 
     username     = serializers.CharField(write_only=True)

意见

class UserList(ListAPIView):
    pagination_class = LimitOffsetPagination
    serializer_class = serializerUser
    queryset = User.objects.all()
    def get_queryset(self):
        users = User.objects.select_related('group').all()
        return users

错误:

django.core.exceptions.FieldError:select_related 中给出的字段名称无效:'gsroup'。选项有:(无)

标签: python-3.xdjangolistdjango-rest-frameworkdjango-views

解决方案


你已经让他们进来了user.groups。如果您想将它们与用户一起显示,请将该groups字段添加到 Meta 类字段列表中,例如:

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = (
            "username",
            "first_name",
            "last_name",
            "email",
            "groups",
        )

推荐阅读