【发布时间】:2020-03-09 05:34:12
【问题描述】:
我有一个值数组,并希望使用 django model.py 将值存储在 mysql 数据库中。我可以存储数组值的可能方式是什么
【问题讨论】:
我有一个值数组,并希望使用 django model.py 将值存储在 mysql 数据库中。我可以存储数组值的可能方式是什么
【问题讨论】:
你可以像下面这样使用 ArrayFields
from django.contrib.postgres.fields import ArrayField
arr_data= ArrayField(models.CharField(max_length = 10, blank = True), size = 8)
【讨论】:
Mysql 不支持数组字段。
你可以使用postgresql
【讨论】:
在 django_mysql 的帮助下,我们可以将列表存储到数据库中。为此,您必须安装 django_mysql
pip install django_mysql
然后我们就可以使用django_mysql的ListCharField了,可以定义line base_field、size、max_lenght等基本属性
from django.db.models import CharField, Model
from django_mysql.models import ListCharField
class Person(Model):
name = CharField()
post_nominals = ListCharField(
base_field=CharField(max_length=10),
size=6,
max_length=(6 * 11) # 6 * 10 character nominals, plus commas
)
您可以像这样简单地插入数据:
p = Person.objects.create(name='Horatio', post_nominals=['PhD', 'Esq.'])
参考链接:https://django-mysql.readthedocs.io/en/latest/model_fields/list_fields.html
【讨论】: