0

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

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

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 столбца.

При попытке выполнить «колба Db обновить» команду (после выполнения инициализации и перенести команду), я получаю ошибку следующим образом:

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

, пожалуйста, руководство меня, как мы можем определить массив целых чисел в модели Колба SQLAlchemy ,

+2

Несомненно, это должно быть 'db.Integer', как вы использовали везде? –

+0

Я написал db.Integer (даже я тоже попробовал Integer), получив ту же ошибку для обоих случаев. –

ответ

2

Это может быть похоже на это bug.

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

+0

Большое спасибо @acv. Это работает. :) –

+0

Отлично. Не могли бы вы нажать «принять» на мой ответ. – ACV