「オブジェクトには属性がありません」私はいくつかの方法で、Djangoのユーザモデルを拡張し、それをシリアル化し、その結果をはAttributeErrorは、クエリセットのユーザー
私のモデル
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)
私のシリアライザ
取得することはできませんclass UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
私の見解
class UserList(APIView):
queryset = User.objects.all()
def get(self, request):
users = User.objects.all()
serializer = UserSerializer(users)
return Response(serializer.data)
しかし、私はあなたが常にシリアライザにクエリセットを渡しUserSerializer(users,many=True)
でそれを渡そうとしているときはいつでも、このエラー
AttributeError at /api/members/
'QuerySet' object has no attribute 'users'
Request Method: GET
Request URL: http://127.0.0.1:8000/api/members/
Django Version: 1.8
Exception Type: AttributeError
あなたの質問に 'urls.py'を追加できますか、おそらく' views.py'も追加できますか?私はあなたのシリアライザとあなたのモデル間のリンクを理解していません... –
@LaurentS私の質問を編集 –
シリアライザを試して= UserSerializer(users、many = True) –