添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Django model存储数组(list)的几种方法

1 年前

1. 创建另一个模型,其中创建几个field,并给它一个 ForeignKey 回到 主模型(最初要存储数组的模型), 并将数组存储在其中。

2. 使用JSONField,构建一些 key: array 结构的数据存入其中。

3. 使用一些序列化方法,如Pickle,将数组序列化后存储在CharField或TextField中。

4. 如果数据库为PostgreSQL或MongoDB,可以

from django.contrib.postgres.fields import ArrayField

(以上四条参考链接: ask.sov5.cn/q/OGk7BDqAU

5. 使用validators。对于int数组,创建CharField(TextField),属性中添加

validators=[validate_comma_separated_integer_list]

validate_comma_separated_integer_list 为官方的一个validator(验证器)。若需要float数组,可以写自己的validator。

(参考链接: zhuanlan.zhihu.com/p/88

6. 自定义Django Field类。

(参考链接: qa.1r1g.com/sf/ask/7771

segmentfault.com/q/1010

发布于 2021-10-15 17:55