私は最高のIDを持つユーザーを獲得しようとしていますが、成功しません。 :aggregate(Max( 'id'))は例外 'str'を返します。オブジェクトには 'email'という属性はありません
class User(models.Model):
email=models.EmailField(unique=True, null=False)
name=models.TextField(null=True)
それは、シリアライザです:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'email', 'name')
ビュー:
class GetHighestValue(generics.ListAPIView):
serializer_class = UserSerializer
def get_queryset(self):
return User.objects.aggregate(Max('id'))
Got AttributeError when attempting to get a value for field
UserSerializer
. The serializer field might be named incorrectly and not match any attribute or key on thestr
instance. Original exception text was: 'str' object has no attribute 'email'.
私は多くのことを試してみたが、何も動作/ これは私のユーザモデルです。 ご協力いただければ幸いです。 トレースバック:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 149, in get_response response = self.process_exception_by_middleware(e, request) File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 147, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 58, in wrapped_view return view_func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py", line 68, in view return self.dispatch(request, *args, **kwargs)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/views.py", line 466, in dispatch response = self.handle_exception(exc)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/views.py", line 463, in dispatch response = handler(request, *args, **kwargs)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/generics.py", line 201, in get return self.list(request, *args, **kwargs)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/mixins.py", line 48, in list return Response(serializer.data)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/serializers.py", line 674, in data ret = super(ListSerializer, self).data
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/serializers.py", line 239, in data self._data = self.to_representation(self.instance)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/serializers.py", line 614, in to_representation self.child.to_representation(item) for item in iterable
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/serializers.py", line 463, in to_representation attribute = field.get_attribute(instance)
File "/home/user/.local/lib/python2.7/site-packages/rest_framework/fields.py", line 422, in get_attribute raise type(exc)(msg) AttributeError: Got AttributeError when attempting to get a value for fieldUserSerializer
. The serializer field might be named incorrectly and not match any attribute or key on thestr
instance. Original exception text was: 'str' object has no attribute 'email'.
ここに完全なトレースを入れてください – e4c5
'python manage.py makemigrations'と' python manage.py migrate'を実行しましたか?また、 'latest()'を使うことで、あなたの要求をより簡単に満たすことができます。 https://docs.djangoproject.com/en/1.9/ref/models/querysets/#django.db.models.query.QuerySet.latest –
うん、私は両方を走らせた。私も最新の( 'id')を使ってみましたが、次のエラーが表示されます: '' User ''オブジェクトは反復可能ではありません ' –