我正在寻找一个能够处理以下场景的web框架(希望是基于Python、Postgresql和ORM):
你有一个人表(有一个人艾薇儿·拉维尼——有过两次婚姻):
PersonID Start End PersonName
-------- ----------- ----------- -------------
1 27-Sep-1984 14-Jul-2006 Avril Lavigne
1 15-Jul-2006 30-Jun-2013 Avril Whibley
1 01-Jul-2013 31-Dec-9999 Avril Kroeger
您有一个分配表(即一个人持有的工作分配等,其中一个人可以在不同的位置持有多个):
^{pr2}$Pyramid是否有一种方法可以让用户选择一个生效日期(比如说今天),SQL Alchemy能够使用生效日期和SQL between
和{
Avril Kroeger有两个任务,分别是JobID
1和2和LocID
3。在
Oracle中的SQL语句应该是:
select p.PersonName,
a.JobID,
a.LocID
from Person p,
Assignment a
where a.PersonID = p.PersonID
and trunc(sysdate) between a.Start and a.End
and trunc(sysdate) between p.Start and p.End
我只是担心我将要学习另一个不能处理复合主键的web框架和上面的场景,甚至SQL外键也无法处理。在
所以ORM基本上可以处理任意查询吗?如果使用上述场景,是否会丢失所有ORM速记函数?有没有更好的方法来处理上述情况。是否应该将生效日期存储为会话变量?在
我对这个话题了解不够,无法提供我的解决方案。我更努力避免学习另一个不能解决上述问题的框架。在
首先,Pyramid完全可以处理这种情况,因为Pyramid是存储无关的,所以它对数据库、SQL等都一无所知:)换句话说,这个问题与Pyramid没有任何关系。在
其次,SQLAlchemy确实支持复合主键。从我的头顶看,声明类应该是这样的:
你的查询应该是这样的:
^{pr2}$相关问题 更多 >
编程相关推荐