首页 > 解决方案 > Django中的列表字段以通过views.py响应

问题描述

在我的 django 项目中,我有一个返回列表列表的代码,如下所示:

[["2019-01-04", "0:00:00", 0.0], ["2019-01-04", "0:30:00", 0.0]]

我想将此列表存储到我的数据库中,但似乎 django 模型中没有任何名为 ListField 的内容。我还尝试将列表更改为字符串并将其保存在 CharField 中,但由于列表中包含引号,django 会将其格式化为类似这样的内容

[[\"2019-01-04\", \"0:00:00\", 0.0], [\"2019-01-04\", \"0:30:00\", 0.0]]

任何人都可以建议一种方法来克服这个问题。谢谢。

标签: pythondjango

解决方案


我会建议你使用外键。此处提供文档。这允许您存储一系列东西,但您不需要安装 Postgres——这对我来说很痛苦,而且您不能存储对象,只能存储字符串或数字。

# models.py

class TimeObject(models.Model):
    date = models.DateField(...)
    dt = models.DateTimeField(...)
    whatever = models.IntegerField(...)

class AllStuffs(models.Model):
    timeobjs = models.ForeignKey(TimeObject, on_delete=models.CASCADE)

使用 Django 内置的东西,您可以解决您现在遇到的问题,并且您可以完全控制您的模型。


推荐阅读