Проверка данных метода 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()