【发布时间】:2018-05-05 15:08:45
【问题描述】:
我试图了解多态资源如何在 django-rest-framework-json-api 中工作,但在我自己的项目和 django-rest-framework-json-api 提供的示例项目中都出现以下错误。我的模型是使用 django-polymorphic 创建的。我尝试运行的示例项目是https://github.com/django-json-api/django-rest-framework-json-api/tree/master/example。
端点:localhost:8000/projects
{
"errors": [
{
"detail": "Incorrect relation type. Expected on of [artProject, researchProject], received None.",
"source": {
"pointer": "/data"
},
"status": "409"
}
]
}
用于创建新实例的项目页面表单没有我可以指定项目类型的任何字段。它只显示主题字段。所以我也想知道如何创建一个艺术项目。
在文档中它说类型由视图、序列化器或模型的元数据中的resource_name 确定。但是返回的 json 数据中的 type 是 none。这是因为serializer.instance = None 用于在force_type_resolution 设置为True 时确定类型。它设置为True 以强制多态序列化程序根据实例解析类型。
所以我似乎无法解决这个问题,也许我缺少一些配置或者代码中确实存在错误,但我不知道。如果您遇到此问题或知道如何让示例应用程序使用多态资源,有人可以告诉我如何解决这个问题吗?
【问题讨论】:
标签: django django-models django-rest-framework django-polymorphic