Omi*_*rin 5 python django django-rest-framework
我以某种方式扩展django用户模型,但无法将其序列化并获得结果
我的模特
class Karfarma(models.Model):
user = models.OneToOneField(User, related_name='karfarma', on_delete=models.CASCADE)
mobile = models.TextField(max_length=11)
validation_number = models.TextField(max_length=5, blank=True, default=None)
phone_number = models.TextField(max_length=10, blank=True, default=None)
datetime_join_persian = models.DateTimeField(default=None, null=True)
def __unicode__(self):
return "%s %s" % (self.user.first_name, self.user.last_name)
Run Code Online (Sandbox Code Playgroud)
我的序列化器
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
我的看法
class UserList(APIView):
queryset = User.objects.all()
def get(self, request):
users = User.objects.all()
serializer = UserSerializer(users)
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误
/ api/members /的AttributeError
'QuerySet'对象没有属性'users'
请求方法:GET
请求网址:http://127.0.0.1: 8000 /api/members /
Django版本:1.8
异常类型:AttributeError
Ani*_*dwe 26
每当您尝试将查询集传递给序列化程序时,始终将其传递给UserSerializer(users,many=True).如果您只想传递单个用户对象,则可以使用User.objects.get(some_attribue=something)该对象,然后将该对象传递给没有该many=True标志的序列化程序.