我想用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 –