草庐IT

Sqlalchemy-searchable

全部标签

python - 是否可以让 sqlalchemy 创建一个带有整数部分的复合主键而不使其成为 IDENTITY 类型?

我正在使用sqlalchemy6.0。SQLServerT-SQL方言似乎想要将属于我的主键的任何整数变成一个标识。如果整数字段是主键,那可能没问题,但我的是复合字段,这对我不起作用。有没有办法抑制这种行为?下面是问题的演示:fromsqlalchemyimport*fromsqlalchemy.schemaimportCreateTablefromsqlalchemy.typesimportCHARimportsqlalchemy.dialects.mssql.pyodbcmetadata=MetaData()t=Table('TEST',metadata,Column(u'int_

python - Pylons 中具有自动加载(反射)功能的 SQLAlchemy 声明性语法

我想使用自动加载来使用现有数据库。我知道如何在没有声明语法的情况下做到这一点(model/_init_.py):definit_model(engine):"""Callmebeforeusinganyofthetablesorclassesinthemodel"""t_events=Table('events',Base.metadata,schema='events',autoload=True,autoload_with=engine)orm.mapper(Event,t_events)Session.configure(bind=engine)classEvent(object

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

我的模型看起来像classCategory(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),defa

python - sqlalchemy session.refresh 不刷新对象

我有以下映射(直接来自SA示例):classUser(Base):__tablename__='users'id=Column(Integer,primary_key=True)name=Column(String)fullname=Column(String)password=Column(String)我正在使用MySql数据库并且该表有一个innoDB引擎。我的表中有一条记录:1|'user1'|'user1测试'|'密码'我用以下代码打开了一个session:fromsqlalchemy.orm.sessionimportsessionmakerfromsqlalchemy.e

python - 在 sqlalchemy 中对相同的声明性基础使用不同的模式

我是Pyramid和SQLAlchemy的新手。我正在使用SQLAlchemy开发一个PythonPyramid项目。我在下面设置了一个简单的模型。我将如何在运行时将其与不同的模式一起使用?这将是一个PostgreSQL数据库后端。现在,“public”被硬编码到声明性基础模型中。我需要能够使用具有不同模式的相同模型。什么是最好的方法?除非我错过了它,否则SQLAlchemy的文档对我来说似乎不清楚。fromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemyimportColumn,BigInteger__all

python - 如何使用 SQLAlchemy 将一个类映射到多个表?

假设我有一个包含三个表的数据库结构,如下所示:items-item_id-item_handleattributes-attribute_id-attribute_nameitem_attributes-item_attribute_id-item_id-attribute_id-attribute_value我希望能够在SQLAlchemy中执行此操作:item=Item('item1')item.foo='bar'session.add(item)session.commit()item1=session.query(Item).filter_by(handle='item1').

python - 使用 Flask-SQLAlchemy 连接到 MSSQL 数据库

我正在尝试通过Flask-SQLAlchemy连接到本地MSSQL数据库。这是我的__init__.py文件的代码摘录:fromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mssql+pyodbc://HARRISONS-THINK/LendApp'db=SQLAlchemy(app)SQLALCHEMY_TRACK_MODIFICATIONS=False如您在SQLServerManagementStudio中

python - SQLAlchemy 中是否可以实现多级多态性?

SQLAlchemy中是否可以实现多级多态?这是一个例子:classEntity(Base):__tablename__='entities'id=Column(Integer,primary_key=True)created_at=Column(DateTime,default=datetime.utcnow,nullable=False)entity_type=Column(Unicode(20),nullable=False)__mapper_args__={'polymorphic_on':entity_type}classFile(Entity):__tablename__=

python - SqlAlchemy - 按定义为 ForeignKey 的字段过滤

我正在尝试获取由作为外键的字段过滤的类的实例,但是当我尝试这样做时,我总是获取数据库中的所有条目,而不是符合条件的条目。假设我有几个类在简单关系N:1中使用声明性基础。我有这样的模型:#!/usr/bin/python2.6classContainerClass(declarativeBase):__tablename__="container_classes"_id=Column("id",Integer,primary_key=True)id=sqlalchemy.orm.synonym('_id',descriptor=property(getId,setId))classWha

python - 在 Flask-SQLAlchemy 中更改约束命名约定

我想改变标准namingconventions在Flask-SQLAlchemy中设置的约束,以简化使用Alembic的迁移。由于Flask-SQLAlchemy自行创建声明性基础(您可以在其中提供命名约定),因此我不确定执行此操作的最佳方法是什么。我可以在创建声明性基础后更改命名约定(即当我创建Flask-SQLAlchemy对象时)还是我必须继承SQLAlchemy类?有没有完全不同的方式? 最佳答案 2.1版为扩展引入了metadata参数。如果您想要自定义的基本模型只是元数据,您可以将自定义的MetaData实例传递给它。d