如何通过 django rest api 中的一个序列化器发布多个模型数据

2024-04-15

我有两个模型,Contact and User:

class Contact(models.Model):
    name = models.CharField(max_length=50, blank=True)
    status = models.BooleanField(default=False)

class User(models.Model):
    username = models.CharField(max_length=50, blank=True)
    password = models.CharField(max_length=50, blank=True)
    contact_id = models.ForeignKey(Contact, on_delete=models.CASCADE, blank=True, null=True)

对于这两个模型,我有两个序列化器类:

class ContactSerializerModel(serializers.ModelSerializer):
    class Meta:
        model = Contact
        fields = ('name', 'status')

class UserSerializerModel(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('username', 'password','contact_id')

我想设计一个序列化器类,它需要name, username, password, and status字段。我想将它们作为键值对发布。第一的name and status值保存在Contact然后模型Contact model id saves username and password in User桌子。如何设计 Django Rest API 中的序列化器类?


你需要覆盖create里面的方法UserSerializerModel:

class UserSerializerModel(serializers.ModelSerializer):
    contact_id = ContactSerializerModel()
    class Meta:
        model = User
        fields = (
          'username',
          'password',
          'contact_id'
        )

    def create(self, validated_data):
        contact_data = validated_data.pop('contact_id')  
        contact = Contact.objects.create(**contact_data)
        user = User.objects.create(contact_id=contact, **validated_data)
        return user

查看具体信息here http://www.django-rest-framework.org/api-guide/relations/#writable-nested-serializers.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 django rest api 中的一个序列化器发布多个模型数据 的相关文章

  • Django 1.7 makemigrations 冻结/挂起

    我终于从 Django 1 6 升级到 1 7 并在此过程中删除了 South 我跟着Django 官方说明 https docs djangoproject com en 1 7 topics migrations upgrading f
  • 为现有数据库/sql 视图创建 django 模型?

    我已在 template dir sql someTableName sql 文件中插入视图的定义 创建或替换视图 所以每次我运行syncdb 创建数据库视图 我可以在 models py 中创建一个访问该视图的 python 类吗 使用
  • 如何在 django 中为模板应用背景图像

    在我的网站中 在特定的表格中 我必须插入图像作为背景 我这样做了 但图像看起来像双图像 因为图像小于单元格宽度和高度 它正在重叠 在背景图像单元格中 我使用 no repeat 来结束同一图像的重复显示 但它不起作用 我正在 django
  • AMD plaidml 与 CPU Tensorflow - 意外结果

    我目前正在运行一个简单的脚本来训练mnist数据集 通过 Tensorflow 通过我的 CPU 运行训练给了我49us sample和使用以下代码的 3e 纪元 CPU import tensorflow as tf mnist tf k
  • Python中基于行输入的条件求和

    我正在尝试用Python 做一个条件和积 简化的思路如下 A 1 1 2 3 3 3 B 0 50 0 25 0 99 0 80 0 70 0 20 我想要作为输出 Total1 0 50 1 0 25 1 Total2 0 99 2 To
  • 将数据导入 Django 的好方法

    我想定期将数据导入 Django 项目 我需要告诉我的数据提供者我想要以什么格式接收数据 我应该以 Json XML CSV 格式请求吗 在 Django 中通常如何处理这个问题 Django 有一个用于导入数据的完整框架 称为 Fixtu
  • 如何使用放心发送Content-Type表单数据请求?

    我需要使用 Rest Assured 调用表单数据类型 API 这是我的代码 private Map
  • pytest - ModuleNotFoundError - python 3.6.4

    我有一个具有以下布局的项目 MANIFEST in README md init py company init py api init py auth py debug py exceptions py reporting py rest
  • 如何检查ManyToMany字段是否不为空?

    如何检查是否有与我的模型对象相关的 ManyToMany 字段对象 例如 我有一个模型 class Category models Model related categories models ManyToManyField self b
  • 将 Django/Python 3.4 部署到 Heroku

    我正在尝试使用 Django Heroku 入门教程使用 Django Heroku 部署我的第一个示例应用程序 我的工具 Python 3 4 和 Windows 7 PowerShell 我的挑战 部署到 Heroku 失败 我不知道为
  • Python 中的静态变量?

    在 C 中 我们有 static 关键字 它在循环中是这样的 for int x 0 x lt 10 x for int y 0 y lt 10 y static int number of times 0 number of times
  • 如果包含字符串列表,则过滤 pyspark 数据帧

    假设我们有一个 pyspark 数据框 其列之一 column a 包含一些字符串值 并且还有一个字符串列表 list a 数据框 column a count some string 10 another one 20 third str
  • 如何在 Tensorflow 中计算 Spearman 相关性

    Problem 我需要计算 Pearson 和 Spearman 相关性 并将其用作张量流中的指标 对于皮尔逊来说 这是微不足道的 tf contrib metrics streaming pearson correlation y pre
  • 在 ruamel.yaml 的列表元素中添加注释

    我使用 Python 在 YAML 文件的列表中动态添加元素 并且我想在我添加的每个元素旁边添加注释 以下是所有所需的格式 flow style example a b c first list d e second list block
  • Spring Boot 忽略 @JsonDeserialize 和 @JsonSerialize

    我有一个带有 RESTful 端点的 Spring Boot 应用程序 我想向其中添加自定义序列化器乔达时间 http www joda org joda time 但我无法让应用程序默认 Jackson Serailzier 识别我的自定
  • Django 可重用应用程序配置

    我有一些连接到数据库的 Django 中间件代码 我想将中间件变成可重用的应用程序 app 这样我就可以将其打包以分发到许多其他项目中 而无需复制和粘贴 我不明白可重用应用程序应该在哪里配置自身 由于它是用于重新分发的 所以我无法自己编写中
  • sqlalchemy,混合属性 case 语句

    这是我试图通过 sqlalchemy 生成的查询 SELECT order id AS id order created at AS created at order updated at AS updated at CASE WHEN b
  • Django 压缩器和模板继承

    我正在使用Django 压缩器 https github com mintchaos django compressorDjango 1 2 3 中的 app 用于缩小和合并许多包含的 CSS 和 JS 文件 在基本模板中 我有 load
  • 如何在 Django 中设置和获取会话?

    当用户登录时 我需要在会话上设置一个变量 我怎样才能做到这一点 if request user is authenticated profile request user get profile request session idempr
  • 国际天气 API (PHP) [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找最好的 免费 便宜 国际天气 PHP API 有什么建议么 看看这个答案 https sta

随机推荐