【发布时间】:2011-12-31 09:09:40
【问题描述】:
我想使用 Django ORM 来编写这个 SQL 请求:
SELECT * FROM versionning t1
JOIN (
SELECT MAX( version ) AS version, name FROM versionning
WHERE updated < '2011-11-15'
GROUP BY name
) t2
ON t1.version = t2.version AND t1.name = t2.name
SQL 表“版本控制”在哪里:
CREATE TABLE IF NOT EXISTS `versionning` (
`uuid` varchar(36) NOT NULL,
`name` varchar(40) NOT NULL,
`version` int(11) NOT NULL,
`updated` datetime NOT NULL,
`data` varchar(80) NOT NULL,
PRIMARY KEY (`uuid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
目标是对对象进行版本控制。就我而言,我希望能够拥有多个具有相同名称但具有不同版本号的对象。然后我想选择'2011-11-15'上所有对象的最新版本。
如何使用 Django ORM 做到这一点?
【问题讨论】: