【问题标题】:Adding row to another table before inserting a row在插入行之前将行添加到另一个表
【发布时间】:2019-05-24 16:05:00
【问题描述】:

我有一个这样的标签模型:

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"] 
}

当我这样做时,我希望 logo 和 abc 自动插入到 Tags 表中。

ManyToManyField 是正确的方法吗?如果可以,如何实现?

【问题讨论】:

    标签: python django django-models django-rest-framework django-queryset


    【解决方案1】:

    默认情况下,嵌套序列化程序是只读的。如果您想支持对嵌套序列化器字段的写操作,您需要创建 create() 和/或 update() 方法,以明确指定应如何保存子关系

    来源:https://www.django-rest-framework.org/api-guide/relations/#writable-nested-serializers

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 1970-01-01
      • 2014-05-22
      • 2018-03-02
      • 1970-01-01
      • 2013-12-26
      相关资源
      最近更新 更多