Фон: У меня есть модель статьи, в которой хранятся некоторые статьи, и каждая статья может иметь несколько изображений. Мне нужно создать api для создания статьи и соответствующих изображений, если это необходимо. Но у меня нет никаких идей, как сделать так, чтобы изображения могли быть созданы одновременно.Django-rest-framework serializer: одновременно создает объект с посторонними объектами
models.py
class Article(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=50)
content = models.CharField(max_length=255)
def __unicode__(self):
return self.title
class ArticleImage(models.Model):
id = models.AutoField(primary_key=True)
image = models.ImageField(upload_to=get_file_path, blank=True, null=True)
article = models.ForeignKey(Article)
serializers.py
class ArticleImageSerializer(serializers.ModelSerializer):
class Meta:
model = ArticleImage
class ArticleSerializer(serializers.ModelSerializer):
#images = ???
class Meta:
model = Article
api.py
class ArticleView(APIView):
def post(self, request, format=None):
try:
serializer = ArticleSerializer(request.data)
if serializer.is_valid():
serializer.save()
return Response({'success': True})
else:
return Response({'success': False})
except:
return Response({'success': False})
запрос JSON
{
"title":"Sample Title",
"content":"Sample Content",
"images":[
"paul.jpg",
"ada.jpg"
]
}
Спасибо за помощь.
Являются ли данные изображения jpg включенными в json/post как-то? В противном случае, откуда будут получены изображения? – owenfi
Да, изображение включено. Запрос json представляет собой образец структуры данных для ссылки на кого-либо и, фактически, при вызове api, Content-Type должен быть «multipart/form-data». Спасибо за ваш ответ. – Pang
Кто-нибудь поможет в этом вопросе? Большое спасибо. – Pang