【发布时间】:2019-03-12 09:48:17
【问题描述】:
前端(React)给了我这种类型的 json 数据:
{
"question": [{
"id": '0',
"title": 'Click to write the question text',
"choice": ['Click to write Choice 1', 'Click to write Choice 2', 'Click to write Choice 3'],
"answerType": 'singleAnswer',
"answerStyle": 'vertical',
},
{
"id": '1',
"title": 'Click to write the question text',
"choice": ['Click to write Choice 1', 'Click to write Choice 2', 'Click to write Choice 3'],
"answerType": 'singleAnswer',
"answerStyle": 'horizontal',
},
{
"id": '2',
"title": 'Click to write the question text',
"choice": ['Click to write Choice 1', 'Click to write Choice 2', 'Click to write Choice 3'],
"answerType": 'multipleAnswer',
"answerStyle": 'horizontal',
},
]
}
我需要将它保存在我的 Django 中的 SQLite 数据库中。
- 如何保存
choice字段? - 如果我分别制作Question和Choice模型,如何在选择表中一一保存json选择?如何在前端取回这些数据?
- 我应该如何设计我的模型?我应该在我的 API 视图中写些什么?
【问题讨论】:
-
您好,欢迎来到 SO。您可能没有意识到,但是您提出问题的方式基本上是要求我们设计和实现此功能,这完全超出了 SO 的范围。请注意,您的前两个问题(如何保存和检索数据)在 Django 非常全面的文档中有答案(全部或部分),而最后一个问题(实际上是最后两个问题 - 这是两个问题合二为一)真的取决于您的应用程序的要求和您自己的设计选择,因此我们无法真正回答它们。
-
nb:删除了 reactjs 和 javascript 标签,因为问题实际上是关于 Django 的(客户端是 react 应用程序的事实在这里完全无关紧要)。
-
抱歉标签。实际上我已经设计了数据库并为这个设计制作了 api。但问题是当前端给我一个数据时它只给出问题,因为我将问题和选择模型分开。而且我的api也不一样。我为问题制作了一个 api,为选择制作了另一个 api,为响应或投票制作了另一个 api。但问题是前端给了我这种数据格式。那么我是否需要先加载数据并按部分分隔数据,然后将数据保存在特定表中?我是一名初级开发人员。我的知识有点有限。
-
您可能应该将您提供的信息添加到问题中。是的,如果你不能在前端正确地分离它,那么 django 视图会做一些解析 json 的工作是有道理的。
-
@iftekharprolific 请编辑您的问题以添加这些详细信息。 wrt / react客户端发送给您的内容与您的模型设计方式之间的区别,这是一个非常常见的情况(不仅适用于rest API)-您的模型表示关系数据库模式,几乎从来没有“用户”(在最一般的定义中——这里的反应应用程序是你的 API 的“用户”)查看这些数据,所以你不能指望一对一的映射。作为开发人员,您的工作是在业务视图和数据库实现之间进行转换。