相关疑难解决方法(0)

sqlalchemy:alembic批量插入失败:'str'对象没有属性'_autoincrement_column'

我的模型看起来像

class Category(UserMixin, db.Model):
    __tablename__ = 'categories'
    uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True,
                  unique=True)
    name = Column('name', String, nullable=False)
    parent = Column('parent', String, nullable=False)
    created_on = Column('created_on', sa.types.DateTime(timezone=True),
                        default=datetime.utcnow())
    __table_args__ = (UniqueConstraint('name', 'parent'),)

    def __init__(self, name, parent):
        self.name = name
        self.parent = parent

    def __repr__(self):
        return '<Category:%s:%s:%s>' % (
            self.uuid, self.name, self.category_type)
Run Code Online (Sandbox Code Playgroud)

其中GUID是自定义sqlalchemy类型我使用alembic --autogenerate选项创建表

 op.create_table('categories',
                    sa.Column('uuid', UUID(), nullable=False),
                    sa.Column('name', sa.String(), nullable=False),
                    sa.Column('parent', sa.String(), nullable=False),
                    sa.Column('created_on', sa.DateTime(timezone=True),
                              nullable=True),
                    sa.PrimaryKeyConstraint('uuid'),
                    sa.UniqueConstraint('name', 'parent'),
                    sa.UniqueConstraint('uuid')
    )
Run Code Online (Sandbox Code Playgroud)

和PostgreSQL表一样

            Table "public.categories"
   Column …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy alembic

9
推荐指数
1
解决办法
4109
查看次数

标签 统计

alembic ×1

postgresql ×1

python ×1

sqlalchemy ×1