Проверка данных метода post в сериализаторе

У меня есть простая модель:

     class News(models.Model):
         viewed = models.BooleanField(default=False)
         headline = models.CharField()

Данный заголовок, я хочу установить просмотренное значение True. Мой вопрос связан со структурированием приложения/кодовой базы. Где мне проверить, что заголовок существует, и обновить его?

serializer.py

     class NewsSerializer(serializers.Serializer):
         def validate(self,data):
           try:
              news = News.objects.get(headline=data.get('headline'))
              return data
           except:
              raise serializer.ValidationError('headlinenotfound')

views.py

    def post(self, request):
         headline = request.data.headline
         serializer = NewsSerializer(data=request.data)
         if serializer.is_valid():
              #get the news to update
              news = News.object.get(headline=headline)
              news.viewed = True
              news.save()
            
    
        
Вернуться на верх