【问题标题】:Is that possible to store array in mysql database using django model?是否可以使用 django 模型将数组存储在 mysql 数据库中?
【发布时间】:2020-03-09 05:34:12
【问题描述】:

我有一个值数组,并希望使用 django model.py 将值存储在 mysql 数据库中。我可以存储数组值的可能方式是什么

【问题讨论】:

    标签: mysql django


    【解决方案1】:

    你可以像下面这样使用 ArrayFields

    from django.contrib.postgres.fields import ArrayField
    arr_data= ArrayField(models.CharField(max_length = 10, blank = True), size = 8)
    

    【讨论】:

    • 哦!,我的错。我直接给了postgres的答案。而不是说 MySql 不支持,然后分享 postgres 的答案。
    【解决方案2】:

    Mysql 不支持数组字段。

    你可以使用postgresql

    【讨论】:

      【解决方案3】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-15
        • 2012-05-08
        • 2020-11-26
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多