我是否需要显式使用 Django Rest Framework 序列化程序更新的事务?
Do I need to explicitly use transactions with Django Rest Framework serializer updates?
根据 http://www.django-rest-framework.org/api-guide/serializers/#writable-nested-representations,为了接受嵌套的序列化程序,我需要创建一个 update
方法。 None 个示例使用事务,尽管它们确实修改了多个 rows/tables。 DRF 是否已经以某种方式将事物包装在交易中,或者我应该明确地把 transaction.atomic()
全部放在它上面?
相关公关:
相关 PR 与您的问题无关。 PR 链接到绕过默认 Django 事务方案的 DRF 特定异常处理程序 (https://github.com/tomchristie/django-rest-framework/pull/1204#issuecomment-52712621)。
DRF 并没有专门将事物包装在交易中,让用户可以自由选择他们想要的任何东西。
您还可以使用 Django 的 ATOMIC_REQUESTS
数据库设置,它会在每个请求执行前应用一个事务,并在请求成功完成时提交它。更多信息在这里:
先从db导入transaction模块,然后使用下面的
with transtaction.atomic():
pass
这将确保您的数据进入数据库的原子性和一致性。
根据 http://www.django-rest-framework.org/api-guide/serializers/#writable-nested-representations,为了接受嵌套的序列化程序,我需要创建一个 update
方法。 None 个示例使用事务,尽管它们确实修改了多个 rows/tables。 DRF 是否已经以某种方式将事物包装在交易中,或者我应该明确地把 transaction.atomic()
全部放在它上面?
相关公关:
相关 PR 与您的问题无关。 PR 链接到绕过默认 Django 事务方案的 DRF 特定异常处理程序 (https://github.com/tomchristie/django-rest-framework/pull/1204#issuecomment-52712621)。
DRF 并没有专门将事物包装在交易中,让用户可以自由选择他们想要的任何东西。
您还可以使用 Django 的 ATOMIC_REQUESTS
数据库设置,它会在每个请求执行前应用一个事务,并在请求成功完成时提交它。更多信息在这里:
先从db导入transaction模块,然后使用下面的
with transtaction.atomic():
pass
这将确保您的数据进入数据库的原子性和一致性。