ниже написанный код медленный и решает только часть проблемы - n может быть больше 20000 + медленно
n=20000 def NewNumber(): t=-1 for x in xrange(1,n+1,1): try: model.Class1.byNumber(x) except model.SQLObjectNotFound, msgs: return x return t
n=20000 def NewNumber(): t=-1 for x in xrange(1,n+1,1): try: model.Class1.byNumber(x) except model.SQLObjectNotFound, msgs: return x return t
в классе class Class1(SQLObject) .... number = IntCol(alternateID = True) .....
pythonwinА что это за задача такая? Такие задачи ни с SQLObject ни вообще с SQL не решаются. В крайнем случае - пишите процедуру. Или всю выборку получать на клиенте и с ней разбираться.
как максимально просто и главное быстро найти не существующее уникальное поле в SQLObject?
pythonwinА если подойти к задаче с другой стороны:
как максимально просто и главное быстро найти не существующее уникальное поле в SQLObject?
Mkdirтоже вариант и вполне реализуемо - только при этом нужно будет бороться с sqlobject
Чем не подходит primary key по имени ‘id’, у которого установлен auto_increment?
pythonwinЭто почему же? Хочешь сказать, что sqlobject не знает что такое id записи таблицы? ;)
тоже вариант и вполне реализуемо - только при этом нужно будет бороться с sqlobject