1
は、私はこのDjangoの残りのフレームワークKeyError例外 '要求'
class PublicacionSerializer(serializers.ModelSerializer):
usuario = UserSerializer2()
likeado = serializers.SerializerMethodField()
class Meta:
model = Publicacion
fields = ('id','usuario', 'likeado')
def get_likeado(self, obj):
user = self.context['request'].user
try:
like = Like.objects.get(publicacion=obj, usuario=user)
return like.id
except Like.DoesNotExist:
return False
ように私のシリアライザを持っているので、私は別のもので、そのseriaizerを使用します。
views.pyでclass EstadoSerializer(serializers.ModelSerializer):
publicacion = PublicacionSerializer(read_only=True)
私は
class ModificarEstadoMixin(object):
queryset = Estado.objects.all()
serializer_class = EstadoSerializer
class ModificarEstadoDetail(ModificarEstadoMixin, RetrieveUpdateAPIView):
permission_classes = (permissions.IsAuthenticated,
CanModifEstado,)
pass
を持っています
ユーザーが投稿を好きであるかどうかを知るためのURLにアクセスするときコードラインにKeyError 'request'があります
user = self.context['request'].user
誰でも解決方法を知っていますか?あなたがそのシリアライザを呼び出すと
のようなビューからのコンテキストを渡すために持っているか、どこに置くか、私がすべきあなたは –
私は知らないために、あなたは 'コンテキストを渡しますget_serializer'メソッドを呼び出すことができますそれは私の投稿を編集した@itzmeontv –