Я использую django 3.0.7 и Django Rest Framework
мой models.py
выглядит так:
class BlogPost(models.Model):
title = models.CharField(max_length=50, null=False, blank=False)
body = models.TextField(max_length=5000, null=False, blank=False)
header = models.TextField(max_length=5000, null=False, blank=False)
image = models.ImageField(upload_to=upload_location, null=False, blank=False)
date_published = models.DateTimeField(auto_now_add=True, verbose_name="date published")
date_updated = models.DateTimeField(auto_now=True, verbose_name="date updated")
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
slug = models.SlugField(blank=True, unique=True)
def __str__(self):
return self.title
serializers.py
:
class BlogPostSerializer(serializers.ModelSerializer):
class Meta:
model = BlogPost
fields = ['title', 'body', 'image', 'date_updated', 'username']
views.py
:
@api_view(['POST'])
def api_create_blog_view(request):
blog_post = BlogPost(author=request.user)
if request.method == 'POST':
serializer = BlogPostSerializer(blog_post, data=request.data)
data = {}
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Мне нужно сохранить заголовок в поле базы данных «header», я пытался сохранить как-то так:
serializer = BlogPostSerializer(blog_post, data=request.data, header=request.META)
но не работает