【发布时间】:2015-04-10 21:28:13
【问题描述】:
我有一个带有嵌套多对多字段的序列化程序,并且父序列化程序有一个 create() 覆盖:
tags = TagSerialiser(many=True)
我想让 m2m 只读,但 POST 将包含它的数据。在这种情况下,我想根据它们的字符串查找预先存在的标签并链接它们,否则创建一个新标签(对标签字符串进行规范化)以及其他检查和模型创建。
将关系的序列化器字段设置为只读时,即使已发布数据,也不会将数据传递给 created。
将其设置为读/写会导致验证错误,因为 create() 方法晚于创建嵌套关系。就我而言,我得到了独特约束的例外情况。
有没有办法在我的 create() 方法中处理嵌套关系的写入?我想在这里创建模型或链接现有模型。使用 PK/URL 关系并让 DRF 解决它不是一种选择。
(Django Rest Framework 3.0.2,Django 1.7)
【问题讨论】:
标签: python django-rest-framework