Django,将数据从JSON转换为DB

时间:2017-09-01 14:53:03

标签: python django

在我的Django项目中,我想实现这个Vue.js组件,但在这种情况下我需要来自JSON的数据:任务(带描述的待办事项)将保存在我的数据库中。

我尝试找到最佳解决方案。 用户创建一个新的" todo"然后Django将其保存到DB。

{
  "newTodoText": "",
  "todos": {
    "regular": [
      "Do the dishes",
      "Take out the trash",
      "Mow the lawn"
    ],
    "priority": [],
    "done": []
  }
}

https://codepen.io/supraniti/full/zogjGW

在Python中执行此操作的最佳方法是什么?你能给我一些想法,解决方案吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

json基本上是一个dict,在你的模型中,你可以修改保存功能并将dict键映射到相应的模型字段。这里有一些documentation reference

在models.py中,您需要一个Task(或Todo)模型

class Task(models.Model):
""" unit of work to be done"""

PRIORITY_LOW = 1
PRIORITY_MEDIUM = 2
PRIORITY_HIGH = 3
PRIORITY_CRITICAL = 4

PRIORITY_CHOICES = (
    (PRIORITY_LOW, 'low'),
    (PRIORITY_MEDIUM, 'medium'),
    (PRIORITY_HIGH, 'high'),
    (PRIORITY_CRITICAL, 'critical'),
)

name = models.CharField(max_length=100)
priority = models.SmallIntegerField(choices=PRIORITY_CHOICES,
                                  default=PRIORITY_MEDIUM)
is_done = models.BooleanField(default=False)

def __str__(self):
    return self.name