Я создал блог, в котором люди могут публиковать сообщения, комментировать и лайкать публикации. Когда я отправляю новые сообщения, я получаю ошибку AttributeError в / api / posts / Объект «NoneType» не имеет атрибута «user», ошибка возникает в serializers.py в get_user_has_voted , строка 20.
даже если я получаю сообщение об ошибке, я могу отправить данные POST, и все остальные функции работают нормально.
Почему возникает ошибка? Как я могу отладить его?
SERIALIZER.PY
class PostSerializers(serializers.ModelSerializer):
comments = serializers.HyperlinkedRelatedField(many=True,read_only=True,view_name = 'comment_details')
likes_count = serializers.SerializerMethodField()
user_has_voted = serializers.SerializerMethodField()
class Meta:
model = Post
fields = '__all__'
#exclude=('voters',)
def get_likes_count(self, instance):
return instance.voters.count()
def get_user_has_voted(self, instance):
request = self.context.get("request")
return instance.voters.filter(pk=request.user.pk).exists() # line 20
MODELS.PY
class Post(models.Model):
title = models.CharField(max_length=60)
body = models.CharField(max_length=60)
file = models.FileField(null=True,blank=True)
voters = models.ManyToManyField(settings.AUTH_USER_MODEL,
related_name="votes",null=True,blank=True)
В переполнении стека есть повторяющиеся вопросы, но с другим сценарием ios , как новичок, я не мог понять asp идею.