草庐IT

Micro-ORM

全部标签

python - 在 Django 的 ORM 中访问存储过程的最佳方法是什么

我正在设计一个相当复杂的数据库,并且知道我的一些查询将远远超出Django的ORM的范围。有没有人成功地将SP与Django的ORM集成?如果是这样,什么RDBMS以及您是如何做到的? 最佳答案 我们(musicpictures.com/eviscape.com)编写了该django片段,但并不是全部内容(实际上该代码当时仅在Oracle上测试过)。当您想要重用经过验证和测试的SP代码时,或者当一次SP调用比多次调用数据库更快时,或者当安全​​性要求对数据库进行适度访问时,或者当查询非常复杂时,存储过程才有意义/多重步骤。我们正在对

python - Tornado 的非阻塞 ORM?

除了Twistar之外,还有没有异步PythonORM??我正在寻找构建在tornado之上的用于非阻塞API的轻量级ORM。当然,我可以使用momoko编写原始SQL查询,但我想使用对象。 最佳答案 当然可以!看peewee和peewee-async扩大。免责声明:扩展目前仅适用于PostgreSQL,我是扩展的作者:)它不是专门为Tornado设计的,但Tornado可以在异步事件循环上运行。 关于python-Tornado的非阻塞ORM?,我们在StackOverflow上找到一

python - Django ORM,按天分组

我正在尝试按DAY对产品进行分组,但是date_created是一个日期时间字段。Product.objects.values('date_created')\.annotate(available=Count('available_quantity'))返回:[{'date_created':datetime.datetime(2012,4,14,13,3,6),'available':1},{'date_created':datetime.datetime(2012,4,14,17,12,9),'available':1},...]我想要:[{'date_created':date

python - 如何使用没有 ORM 的 SQLAlchemy 查询从表中删除行?

我正在编写一个快速而肮脏的维护脚本来删除一些行,并希望避免将我的ORM类/映射从主项目中引入。我的查询类似于:address_table=Table('address',metadata,autoload=True)addresses=session.query(addresses_table).filter(addresses_table.c.retired==1)根据我读过的所有内容,如果我使用的是ORM(而不是“只是”表)并传入如下内容:addresses=session.query(Addresses).filter(addresses_table.c.retired==1)我

python - 如何使用 Django 的 ORM 截断表?

要清空数据库表,我使用以下SQL查询:TRUNCATETABLE`books`如何使用Django的模型和ORM截断表?这个我试过了,还是不行:Book.objects.truncate() 最佳答案 最接近ORM的是Book.objects.all().delete()。虽然有区别:截断可能会更快,但ORM也会追踪外键引用并删除其他表中的对象。 关于python-如何使用Django的ORM截断表?,我们在StackOverflow上找到一个类似的问题: h

python - SQLAlchemy ORM 返回单列,如何避免常见的后处理

我正在使用SQLAlchemy的ORM,我发现当我返回单个列时,我得到的结果如下:[(result,),(result_2,)]#etc...有了这样的一套,我发现我必须经常这样做:results=[r[0]forrinresults]#SothatIjusthavealistofresultvalues这并不是那么“糟糕”,因为我的结果集通常很小,但如果不是这样,这可能会增加大量开销。最大的问题是我觉得它使源代码困惑,错过这一步是我遇到的一个很常见的错误。有没有办法避免这个额外的步骤?一个相关的问题:在这种情况下,orm的这种行为似乎很不方便,但在我的结果集是[(id,value)]

python - 使用 sqlalchemy 的声明性 ORM 扩展时的多列索引

根据thedocumentation以及sqlalchemy.Column类中的注释,我们应该使用类sqlalchemy.schema.Index来指定包含多个列的索引。但是,该示例显示了如何通过直接使用Table对象来执行此操作,如下所示:meta=MetaData()mytable=Table('mytable',meta,#anindexedcolumn,withindex"ix_mytable_col1"Column('col1',Integer,index=True),#auniquelyindexedcolumnwithindex"ix_mytable_col2"Colum

java - 如何在 Java、SQL、ORM 中使用货币数据类型

在Java应用程序中使用货币数据类型的最佳实践是什么?钱应该是双变量?四舍五入,货币等等。有专门的图书馆吗?最流行的数据库中的ORM和SQL又如何呢?据我所知,并非所有SQL引擎都是Money数据类型。在那种情况下应该使用NUMERIC(15,2)、DECIMAL(15,2)还是REAL数据类型? 最佳答案 WhatarebestpractisesinusingmoneydatatypeinJavaapplication?使用BigDecimal。使用任何原语将迟早会导致精度问题。AndwhataboutORMandSQLinmos

java - ORM 支持不可变类

哪种ORM支持不可变类型的域模型?我想编写如下类(或等效的Scala):classA{privatefinalCc;//notmutableA(Bb){//initc}AdoSomething(Bb){//buildanewA}}ORM必须使用构造函数初始化对象。因此可以在构造函数中检查不变量。对初始化的默认构造函数和字段/setter访问是不够的,并且会使类的实现复杂化。应该支持使用集合。如果集合被更改,它应该从用户的角度创建一个副本。(使旧的集合状态过时。但用户代码仍然可以处理(或至少读取)它。)很像persistentdatastructures工作。关于动机的一些话。假设您有一

java - JPA vs ORM vs Hibernate?

我已通过各种资源了解它们。重要的是:-关于他们每个人的维基百科文章What'sthedifferencebetweenJPAandHibernate?这是我对它们的区别的理解。我不确定我对JPA与ORM的看法是否正确ORM:对象关系映射是将数据从面向对象语言转换为关系数据库的概念/过程,反之亦然例如在java中,它是在反射和jdbc的帮助下完成的。Hibernate:它是上述概念的实现。JPA:它比ORM高出一步。它的高级API和规范,以便不同的ORM工具可以实现,因此它提供开发人员可以灵活地将实现从一个ORM更改为另一个(例如,如果应用程序使用JPAapi和implementatio