草庐IT

sqlalchemy-migrate

全部标签

python - 在 flask 和其他应用程序之间共享 sqlalchemy 模型

我有一个正在运行的Flask应用程序,它是根据我们在网上和MiguelGrinberg的“FlaskWeb开发”一书中找到的最佳实践组合设置的。我们现在需要第二个Python应用程序,它不是Web应用程序,它需要访问与Flask应用程序相同的模型。我们当然想重用相同的模型,这样两个应用程序都可以从共享代码中受益。我们已经删除了对flask-sqlalchemy扩展的依赖(我们之前使用过,当我们只有Flask应用程序时)。并将其替换为SQLalchemyDeclarativeextensiondescribedhere,稍微简单一点(Flask-SQLalchemyaddsafewspe

python - 如何使用新的主键克隆 SQLAlchemy 对象

我想克隆一个SQLAlchemy对象:我试过了:product_obj=products.all()[0]#hereproductsisservicenameproduct_obj.product_uid='soemthing'#hereproduct_uidisthepkofproductmodelproducts.save(product_obj)但它只是更新旧对象。这是products.save函数的代码:classService(object):__model__=Nonedefsave(self,model):self._isinstance(model)db.session

python - SQLAlchemy:如何对关系字段的查询结果(order_by)进行排序?

型号fromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemyimportColumn,ForeignKeyfromsqlalchemyimportIntegerfromsqlalchemyimportUnicodefromsqlalchemyimportTIMESTAMPfromsqlalchemy.ormimportrelationshipBaseModel=declarative_base()classBase(BaseModel):__tablename__='base'id=Column(Integer

python - 我需要一个带有 Nose 的python单元测试sqlalchemy模型的样本

谁能告诉我如何为我使用Nose创建的sqlalchemy模型编写单元测试。我只需要一个简单的例子。谢谢。 最佳答案 您可以简单地创建一个内存SQLite数据库并将您的session绑定(bind)到该数据库。例子:fromdbimportsession#probablyacontextboundsessionmakerfromdbimportmodelfromsqlalchemyimportcreate_enginedefsetup():engine=create_engine('sqlite:///:memory:')sessio

python - SQLAlchemy - 你可以向查询对象添加自定义方法吗?

有没有办法为查询对象创建自定义方法,以便您可以执行此类操作?User.query.all_active()all_active()本质上是.filter(User.is_active==True)并且能够过滤掉它?User.query.all_active().filter(User.age==30) 最佳答案 你可以继承Query基类来添加你自己的方法:fromsqlalchemy.ormimportQueryclassMyQuery(Query):defall_active(self):returnself.filter(Use

python - 如何测试使用 SQLAlchemy 的 Flask 应用程序?

我有一个使用SqlAlchemy在Flask上运行的Web应用程序,用于审核新闻,它有一些api方法来处理审核请求,例如批准、拒绝当前选定的新闻、列出它们等。我想为此方法编写单元测试,并让它们工作,但我不明白如何在一个数据库session中执行我从测试用例中执行的所有请求,以便我可以删除所有更改数据库。还是有其他更清洁或正确的方法来做到这一点?我发现也许我需要的只是SqlAlchemy中的“scoped_session”,但我实现它的所有尝试都失败了。如果这是正确的方法,请告诉我在哪里使用这行代码(在设置中,或在测试用例set_up方法中)。fromsqlalchemy.ormimpo

python - SQLAlchemy 删除不会级联

我的User模型与Address模型有关系。我已经指定关系应该级联删除操作。但是,当我查询和删除用户时,我收到仍然引用地址行的错误。如何删除用户和地址?classUser(db.Model):id=db.Column(db.Integer,primary_key=True)addresses=db.relationship('Address',cascade='all,delete',backref='user')classAddress(db.Model):id=db.Column(db.Integer,primary_key=True)user_id=db.Column(db.In

python - SQLAlchemy 是否与 Django 的 get_or_create 等效?

如果它已经存在(基于提供的参数),我想从数据库中获取一个对象,如果不存在则创建它。Django的get_or_create(或source)这样做。SQLAlchemy中是否有等效的快捷方式?我目前正在这样明确地写出来:defget_or_create_instrument(session,serial_number):instrument=session.query(Instrument).filter_by(serial_number=serial_number).first()ifinstrument:returninstrumentelse:instrument=Instrum

python - SQLAlchemy 插入忽略

如何将多个数据记录插入表中而忽略重复项。我正在使用SQLAlchemy。谢谢! 最佳答案 prefix_with("TEXT")在INSERT和SQL的其余部分之间添加任意文本。execute()接受包含您要插入的记录的字典列表,或者如果您只想插入单个记录,则接受单个字典。您正在寻找的行为的SQLite语法:inserter=table_object.insert().prefix_with("ORREPLACE")inserter.execute([{'column1':'value1'},{'column1':'value2'}

python - 配置 Django 以使用 SQLAlchemy

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion如何使用SQLAlchemy配置Django? 最佳答案 您可以通过Aldjemy在Django项目中使用SQLAlchemy:https://github.com/Deepwalker/aldjemy 关于python-配置Django以使用SQLAlchemy,我们在StackOverflow上找到一