序列化程序中的更新:django rest 框架

用戶15361826

我有疑問,如何在序列化程序中使用 update()?

序列化程序.py

 def update(self, instance, validated_data):
        instance.name = validated_data.get('name', instance.name)
        instance.description = validated_data.get('description', instance.description)
        instance.is_free = validated_data.get('is_free', instance.is_free)
        instance.keyarea = validated_data.get('keyarea', instance.keyarea)
        instance.subject = validated_data.get('subject', instance.subject)

        beneficiary_data = validated_data.get('beneficiary', instance.beneficiary)
        instance.beneficiary.set(*[beneficiary_data])

        section_data = validated_data.get('section', instance.section)
        instance.section.set(*[section_data])

        instance.image = validated_data.get('image', instance.image)
        instance.instructor = validated_data.get('instructor', instance.instructor)
        instance.relevance = validated_data.get('relevance', instance.relevance)
        instance.difficulty = validated_data.get('difficulty', instance.difficulty)
        instance.contributor = validated_data.get('contributor', instance.contributor)
        instance.general_status = validated_data.get('general_status', instance.general_status)
        instance.review_status = validated_data.get('review_status', instance.review_status)

        instance.save()
        return instance


我在這裡使用了很多行來更新課程模型,還有其他方法可以簡化嗎?

阿明

一般沒問題,但你可以這樣做:

for k, v in validated_data.items():
    setattr(instance, k, v)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django REST框架序列化程序中的完整URL

序列化程序,Django rest框架中的权限检查,

在Django 1.11和django _rest框架中的嵌套序列化程序上实现更新方法

序列化程序的更新方法仅创建而不更新(Django rest框架)

如何使注释序列化程序与Django rest框架中的后期序列化程序一起工作?

django rest 框架創建方法序列化程序

Django REST 框架,序列化程序:附加数据?

Django rest 框架序列化程序密钥错误

Django rest 框架序列化程序外键

Django REST 框架序列化程序输出

Django Rest 框架 - 序列化程序不起作用

django rest 框架按 id 更新嵌套序列化程序

django rest 框架,不可序列化

Django Rest框架关系序列化

django rest 框架中的嵌套序列化器数据

在Django Rest框架中序列化查询集

Django Rest框架中的空序列化响应

序列化 Django Rest 框架中过滤的相关字段

如何让 Django rest 框架尊重我的序列化程序中的“required=false”指定?

如何在Django Rest框架中为枚举字段创建序列化程序

将变量(非模型字段)传递给 django rest 框架中的序列化程序

Django rest 框架序列化程序:从 POST 请求中获取源代码

如何在 django rest 框架中为嵌套序列化程序正确创建 POST 方法

在Django REST框架序列化程序中动态排除或包含字段

如何在 django rest 框架序列化程序中访问初始数据

嵌套序列化程序中的Django(1.11)rest框架发布user.id

在序列化程序中获取字段的属性(Django Rest框架)

Django rest 框架在序列化程序中检索列表

使用序列化程序如何在 django rest 框架中创建类别