Django のモデルで配列を使う


MariaDB をデータベースとした時の方法です。
PostgreSQL では別な方法になります。

次のようなテーブルを作成する例です。

models.py
# ------------------------------------------------------------------
#
#   models.py
#
#                   Feb/23/2019
# ------------------------------------------------------------------
from django.db import models
from django_mysql.models import ListCharField

class City(models.Model):
    code = models.CharField(max_length=10,primary_key=True)
    name = models.CharField(max_length=20)
    population = models.IntegerField(default=0)
    towns = ListCharField(
            models.CharField(max_length=10),size=6, max_length=(6 * 11))
    date_mod = models.DateField()

    def __str__(self):
        return '<City: ' + \
            self.code + ', ' + self.name + '>'
# ------------------------------------------------------------------

データベースには次のようなテーブルが作成されます。

+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| code       | varchar(10) | NO   | PRI | NULL    |       |
| name       | varchar(20) | NO   |     | NULL    |       |
| population | int(11)     | NO   |     | NULL    |       |
| towns      | varchar(66) | NO   |     | NULL    |       |
| date_mod   | date        | NO   |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+

必要なライブラリーのインストール方法

sudo pip install django-mysql

参考ページ
List Fields