REDkiy: Первая ссылка же. Транзакция тут только для того, чтобы не нарушить целостность твоей логики. Всё просто. Создаёшь метод у "основного события", который отнимает N посетителей у него и создаёт новое событие с этим N посетителей (ну и возвращает, наверное, новое событие для удобства).
Валерий Рябошапко: Проблемы, кстати, те же, что и у тебя: len(lst) на больших значениях очень тормозит (а учитывая то, что ты даже слайсы им резолвишь - тормозят и слайсы). Ещё большая проблема - это OFFSET. Но сегодня ночью мне пришла хорошая идея, как использовать индексы по ID вместо OFFSET'а. Если пользователю не нужно удаление данных вообще (ни del, ни pop), в этом случае можно получать выборку по ID. Например lst[50] - 'select * from tbl where id = 51'. С отрицательными индексами тоже придумал :)
Валерий Рябошапко: Если будет спрос - будет предложение. Предлагаю не плодить репозитории и слиться в один, в таком случае. Кстати, sqlist - думал про точно такое же имя :) Но потом решил, что оно не очень подходит, потому что это только sqlite, а не любой sql. Но оно мне нравится больше. Короче.
maddread: Скрипт имеет класс или, на крайняк, функцию, верно? Нормальные пацаны ещё заворачивают само исполнение скрипта в if __name__ == '__main__'. Вот импортируешь себе этот класс/функцию и исполняешь.
pcdesign: Лол. Чтобы проверить, что это работает, достаточно создать тестовое поле и в default прописать любой callable объект. Например default=lambda: randint(1, 200)
abcyu: Было бы всё равно - ты бы не поднимал тему полумесячной давности )
Причём,
Вам нужно - Вы и проверяйте.
Мне ничего не нужно. Спор, помнится, завёл ты со мной со слов:
Roman Kitaev: Зачем? Если всего 1500 записей в год.
Затем ты начал с пеной у рта доказывать мне, что автору нужно всё что угодно, кроме SQLа и что я приземлённый, недальновидный придурок-консерватор, который подсел на уютненький SQL и на монгу с мемкэшем не смотрю.
Я думал, логика за твои "20 лет" работы должна быть на высшем уровне))