【发布时间】:2014-04-28 04:52:52
【问题描述】:
我正在寻找可以处理以下场景的 Web 框架(希望基于 Python、Postgresql 和 ORM):
你有一个 Person 表(有一个人 Avril Lavigne - 有过两次婚姻):
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
您有一个分配表(这是一个人持有的工作分配等,一个人可以在不同的位置持有多个):
AssignID Start End PersonID JobID LocID
-------- ----------- ----------- -------- ----- -----
1 27-Sep-1984 26-Sep-1999 1 1 1
1 27-Sep-1999 31-Dec-2002 1 1 2
1 01-Jan-2003 31-Dec-9999 1 1 3
2 01-Jul-2013 31-Dec-9999 1 2 3
有没有一种方法可以让 Pyramid 让用户选择一个生效日期(比如今天),SQL Alchemy 将能够使用生效日期和 SQL between 以及 @ 上的外键连接来连接表987654324@;带回来:
Avril Kroeger 有 2 个作业,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 速记功能?有没有更好的方法来处理上述情况。我应该将生效日期存储为会话变量吗?
我对该主题的了解不够,无法提供我的解决方案。我更想避免学习另一个无法解决上述情况的框架。
【问题讨论】:
标签: python sqlalchemy pyramid