【python – 使用SQLAlchemy批量upsert】教程文章相关的互联网学习教程文章

python – Django SQLAlchemy RESTful API(tastypie?)

我目前正在使用带有SQLAlchemy的Django,并希望为移动设备实现(简单易用)API. 我正在评估不同的python RESTful API框架,特别是tastypie和活塞. 有人可以指出我正确的方向re:使用任一模块将资源绑定到SQLAlchemy? 或者,任何其他框架可以更好地与Django SQLAlchemy一起使用? 多谢你们.解决方法:您可能需要查看tastypie文档中的以下页面: http://django-tastypie.readthedocs.org/en/latest/non_orm_data_sources.html 具体来说,ri...

python – SQLAlchemy过滤器,substr,case【代码】

我可以在substr和filter中使用CASE语句吗? 这是我的要求:>> value = '00021050430' #here value is a database column >> query.filter((func.substr(value,case([(func.length(value) > 7,func.length(varying_value)-7+1))],else_=1),7)=='1050430')我期待的输出是:>> query.filter(func.substr(value,6,7))以上引发了错误.解决方法:您不需要在此处使用CASE()语句.只需使用Python:query.filter(func.substr(value, 1 if len(...

python – flask-sqlalchemy insert未映射【代码】

我很难在flask-sqlalchemy中正确实现多对多的关系.它始于重复的标签,现在,很多天后,它是一个映射问题.公平的警告,我的代码在这些问题蔓延之前更加漂亮.我还添加了一个addproduct.py文件来加速测试.所以这就是. models.py1 from app import app, db 2 3 product_tags = db.Table('associa...

python – sqlalchemy,mixins,foreignkeys和declared_attr【代码】

我知道在声明性mixin类中声明带有外键的列时我需要@declared_attr,但是我想知道这背后的原因. 谢谢 :)#store traces class ListContainer():id = Column(Integer, primary_key=True)# timestamp = Column(DateTime, default=datetime.now())name = Column(String) #endclass#store flow in traces def list_item(tablename):class ListItem(): # @declared_attr # def trace_id(cls): # ...

python – 测试抛出IntegrityError的SQLAlchemy代码的正确方法是什么?【代码】

我已经阅读了this Q& A,并且已经尝试在我的代码上捕获异常,引发IntegrityError异常,这样:self.assertRaises(IntegrityError, db.session.commit())但不知何故,我的单元测试仍然失败并因IntegrityError异常而停止.我希望它说好,因为我已经预计在我的单元测试中会有异常.这是由于代码尝试插入具有相同唯一字段值的行. 任何的想法?解决方法:其中之一就是诀窍:# ... only if version >= 2.7 with self.assertRaises(IntegrityError)...

python – sqlalchemy – 反映带空格的表和列【代码】

如何在列名(和表名)中包含空格的数据库中使用sqlalchemy? db.auth_stuff.filter(“db.auth_stuff.first name”==’Joe’)显然无法正常工作.我不想在进行反射时手动定义所有内容,而是想在从数据库读取的现有表名之间添加类似lambda x:x.replace(”,’_’)的东西,并在我的模型中使用. (创建一个通用函数来重命名所有不能与python一起使用的表名也可能很有用 – 保留字等) 有这么简单/干净的方法吗? 我想我需要定义自己的mapper类?...

python – 如何访问连接SQLAlchemy中的数据【代码】

给出以下sess查询:sess = DBSession() reg = sess.query(Registration,Schedule).join(Schedule,Registration.classcode==Schedule.classcode).filter(Registration.registration_no==reg_id)我怎么解决结果’reg’中的字段? reg.timeofentry抛出错误:TypeError:无法隐式地将’int’对象转换为str 我正在迅速学习厌恶SQLAlchemy所有它的神秘包装完全简单的SQL语法.解决方法:奇怪的是,在这种情况下迭代结果reg返回的命名元组...

python – Flask-SQLAlchemy声明性和MySQL特定的数据类型【代码】

我有一个已经存在的MySQL数据库,其中有许多列定义了MySQL特定的列类型(MEDIUMINT,TINYINT等等),即使列类型属于标准SQL数据类型,有时也会声明为unsigned. 现在我正在编写一个Flask应用程序,以各种方式提供访问DB的API.使用普通的SQLAlchemy,我将从sqlalchemy.dialects.mysql导入特定的数据类型定义,如:from sqlalchemy import Column from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.dialects.mysql imp...

为什么在python控制台中的SQLAlchemy base.metadata.create_all(engine)中没有显示表?【代码】

我正在尝试创建数据库并在其中插入值.我正在使用postgres数据库.我跟踪时没有看到任何错误>>> from sqlalchemy import create_engine >>> engine = create_engine('postgresql://postgres:password@localhost:5432/mydatabase') >>> from sqlalchemy.ext.declarative import declarative_base >>> Base = declarative_base() >>> from sqlalchemy import Column, Integer, String >>> class User(Base): ... __tablename__ = '...

python – 在Flask SQLAlchemy中一对一设置关系【代码】

我正在尝试在两个表之间建立关系,这允许我到达obj1.obj2.name,其中obj1是一个表,而obj2是另一个表.关系是一对一的(一个人对一个地理区域)# Table one (Person) class Person(db.Model):id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(100))region = db.Column(db.Integer, db.ForeignKey('region.id'))# Table two (Region) class Region(db.Model):id = db.Column(db.Integer, primary_key=True)name =...

python – SQLAlchemy尝试两次删除多对多的次要关系【代码】

我有一个与product_categories有多对多关系的产品型号,如下所述:class Product(Base):""" The SQLAlchemy declarative model class for a Product object. """__tablename__ = 'products'id = Column(Integer, primary_key=True)part_number = Column(String(10), nullable=False, unique=True)name = Column(String(80), nullable=False, unique=True)description = Column(String(2000), nullable=False)categories = relations...

python – SQLAlchemy按子节点数量多次过滤行【代码】

检索包含多个子项的表中的所有行(这是多对多的一部分)的最佳方法是什么?我试过了:session.query(Parent).filter(len(Parent.children)>1).all() 但我得到错误’类型’对象’InstrumentedAttribute’没有len()’.我已经能够让所有父母至少有一个孩子使用:session.query(Parent).filter(Parent.children).all()解决方法:使用having()from sqlalchemy import funcsession.query(Parent). join(Parent.children). gro...

python – 访问与外键链接的SQLAlchemy模型【代码】

我有一个带有外键的模型到另一个模型.我查询第一个模型,并希望访问与之相关的模型.在Django中,我可以从外键访问模型.我如何在SQLAlchemy中执行此操作?class Model(Base):field_id = Column(Integer, ForeignKey('Model2.id'))class Model2(Base):id = Column(Integer)needed_field = Column(Integer)models = Model.query.all() return render to template('templ.html', models=models)Django的工作方式如下:models = Model.obj...

python – 执行flask-SQLAlchemy子查询【代码】

我想在flask-SQLAlchemy中执行以下子查询,但不知道如何:SELECT * FROM (SELECT * FROM `articles` WHERE publisher_id = "bild"ORDER BY date_time DESC LIMIT 10 ) AS t ORDER BY RAND( ) LIMIT 2我知道我可以将查询构建为:subq = Article.query.filter(Article.publisher_id =='bild').order_by(Article.date_time.desc()).limit(10).subquery() qry = subq.select().order_by(func.rand()).limit(2)但是我不知道如何以与我...

python – 是否有必要在SQLAlchemy中使用`relationship()`?

我注意到许多SQLAlchemy教程会在将多个表“连接”在一起时使用relationship(),可能它们的关系是一对一,一对多或多对多.但是,在使用原始SQL时,据我所知,您无法明确定义表之间的关系. 在什么情况下需要关系()而不是必需?为什么我们必须在SQLAlchemy中明确定义表之间的关系?解决方法:在SQL中,表通过外键相互关联.在ORM中,模型通过关系彼此相关.您不需要使用关系,就像您不需要使用模型(即ORM)一样.映射类使您能够使用表,就好像它们是...