下面的查询对象:的方式来表示SQL查询,在Django/Python的
SELECT L1.task_id FROM task_log L1
LEFT JOIN task_log L2 ON L1.started BETWEEN L2.started AND L2.ended
WHERE L2.task_id IS NULL;
只需读取数的时候没有其它任务正在运行启动的所有任务日志。在PHP中的抽象/ ZF2看起来是这样的:
$db->select(array('L1' => 'task_log'))
->columns('task_id')
->join(array('L2' => 'task_log'), "L1.started BETWEEN L2.started AND L2.ended", array(), 'left');
我一直在寻找在Django类似的东西,或者至少蟒蛇。根据this discussion,在django模型中构建这个(可以理解)是没有问题的。在python/django有没有其他的选择?
那么,Django ORM不适合您的需求? –
是的,它没有。但我的问题是关于在python/django中生成SQL的任何方式, –
是否要将Django ORM转换为原始SQL或将原始SQL转换为Django ORM? –