python - Django Postgres ArrayField makemigrations

标签 python django postgresql

我想在我的 Django 项目中使用特定于 PostgreSQL 的 ArrayField,但在我运行 makemigrations 后它没有出现在迁移中。有什么想法吗?

Django v2.1 PostgreSQL v9.6.6

# Models.py
from django.db import models
from django.contrib.postgres.fields import ArrayField

class MyClassName(models.Model):
    udi = ArrayField(models.CharField()),
    version = models.IntegerField()

然后我运行:python3 manage.py makemigrations

# 0001_initial.py
migrations.CreateModel(
    name='MyClassName',
        fields=[
            ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
            ('version', models.IntegerField()),
        ],
    ),

如您所见,“udi”字段可疑缺失。​​

最佳答案

问题是 ArrayField() 末尾的逗号,CharField 也需要 max_length

class MyClassName(models.Model):
    udi = ArrayField(models.CharField(max_length=10))
    version = models.IntegerField()

再次运行 makemigrations,您将获得所需的迁移。

关于python - Django Postgres ArrayField makemigrations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53657291/

相关文章:

python - Pandas pivot 产生 "ValueError: Index contains duplicate entries, cannot reshape"

python - 已安装 Z3 求解器但我无法导入任何内容

用于搜索并替换为 "match words only"选项的 Python 脚本

python - Django 中的 Apscheduler Job 执行两次

django - 无法导入模块 'handler' : No module named 'werkzeug'

security - pg_hba.conf 和 postgresql.conf 之间的 postgres ip 区别

python - 如果涉及抽象表,SQLAlchemy 索引会导致 "Can' t 将未命名列添加到列集合中

python - Django :How to check if a image exists in site media or not?

sql - Upsert 查询不适用于空值。如何在约束中使用空值更新?

postgresql - psql : FATAL: password authentication failed