我有一个这样的标签模型:
class Tag(models.Model):
tag = models.CharField(max_length=100)
和类似的图像模型:
class Image(models.Model):
image_name=models.CharField(max_length=40,unique=False)
...
tags = models.ManyToManyField(Tag)
当前使用数组中标签表的主键,而不是像这样的字符串值:
{
"image_name" : "abc.png",
"tags" : [1, 2]
}
但是,我希望能够使用带有多个标签的POST请求创建一个新图像,如下所示:
{
"image_name" : "abc.png",
"tags" : ["logo", "abc"]
}
这样做时,我希望将徽标和abc自动插入“标签”表中。
ManyToManyField是正确的方法吗?如果可以,该如何实现?
答案 0 :(得分:1)
默认情况下,嵌套的序列化器是只读的。如果要支持对嵌套序列化器字段的写操作,则需要创建create()和/或update()方法,以明确指定应如何保存子关系
来源:https://www.django-rest-framework.org/api-guide/relations/#writable-nested-serializers