Как определить целочисленный массив в Flask Migration для создания новой таблицы

Я хочу создать таблицу с помощью инструмента Flask Migration для моей базы данных Postgresql.

Я написал свою модель колбы следующим образом:

from flask.ext.security import Security, SQLAlchemyUserDatastore, UserMixin, RoleMixin, utils
class AdminUser(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    allow_center_list = db.Column(db.ARRAY(db.Integer))
    admin_profile_id = db.Column(db.Integer, db.ForeignKey('admin_profile.id'))
    created = db.Column(db.DateTime(), default=datetime.now)
    modified = db.Column(db.DateTime(), default=datetime.now)

    user = db.relationship("User", back_populates="admin_user")
    admin_profile = db.relationship("AdminProfile", back_populates="admin_user")

Я хочу использовать целочисленный массив пользователя для столбца allow_center_list.

Когда я пытаюсь выполнить команду «flask db upgrade» (после выполнения команды init и migrate), я получаю следующую ошибку:

sa.Column('allow_center_list', sa.ARRAY(Integer()), nullable=True),NameError: name 'Integer' is not defined

Подскажите, пожалуйста, как определить целочисленный массив в модели Flask SQLAlchemy.


person Harshad Kavathiya    schedule 05.01.2017    source источник
comment
Неужели это должно быть db.Integer, как вы использовали везде?   -  person Daniel Roseman    schedule 05.01.2017
comment
Я написал db.Integer (даже я пробовал Integer), получив одинаковую ошибку для обоих случаев.   -  person Harshad Kavathiya    schedule 06.01.2017


Ответы (1)


Это может быть похоже на эту ошибку.

Попробуйте вместо этого sa.Integer().

person ACV    schedule 06.01.2017
comment
Здорово. Не могли бы вы нажать "Принять" на мой ответ. - person ACV; 09.01.2017