Django model存储数组(list)的几种方法
1. 创建另一个模型,其中创建几个field,并给它一个
ForeignKey
回到
主模型(最初要存储数组的模型),
并将数组存储在其中。
2. 使用JSONField,构建一些 key: array 结构的数据存入其中。
3. 使用一些序列化方法,如Pickle,将数组序列化后存储在CharField或TextField中。
4. 如果数据库为PostgreSQL或MongoDB,可以
from django.contrib.postgres.fields import ArrayField
(以上四条参考链接: http:// ask.sov5.cn/q/OGk7BDqAU Q )
5. 使用validators。对于int数组,创建CharField(TextField),属性中添加
validators=[validate_comma_separated_integer_list]
validate_comma_separated_integer_list 为官方的一个validator(验证器)。若需要float数组,可以写自己的validator。
(参考链接: https:// zhuanlan.zhihu.com/p/88 145941 )
6. 自定义Django Field类。