我想用Django的ORM编写这个SQL请求:在django中选择连接(选择xxx)?
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表 'versionning' 是:
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;
的目标是有versionning的对象。就我而言,我希望能够拥有几个具有相同名称但版本号不同的对象。然后我想选择'2011-11-15'上的所有对象的最新版本。
我该如何使用Django ORM来做到这一点?
https://docs.djangoproject.com/en/dev/topics/db/aggregation/#joins-and-aggregates –