Форум сайта python.su
Столкнулся с такой проблемой. Есть многопоточная система и очереди что обрабатывают виртуальные машины. И вот поидее мне в начале очереди нужно проапдейтить одну запись, и изменить ее состояние на “ЗАНЯТО”, чтобы никакая другая очередь не начала обработку именно этой виртуальной машины.
Тоесть мне нужно сделать update одной записи, и при этом знать, что он прошел отлично:
UPDATE VirtualMachine
SET status = WORK
WHERE status = FREE
LIMIT 1
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')
vm = VirtualMachine.objects.filter(
status=VirtualMachine.STATUS_FREE,
)[0]
vm.status = VirtualMachine.STATUS_WORK
vm.save()
Офлайн
Перешел на уровень “raw SQL queries” - там все что указано мною, достаточно эфективно решилось :).
Так что как мне подсказали “Model API is good, but raw sql is god” :)
Офлайн