Вы были правы, это просто работа для postgresql (я использую db).но я погружаюсь в пост, который вы предоставляете Случайные идентификаторы в sqlalchemy (pylons) , он действительно работает в sqlite, просто не следуйте ответу zzzeek, перейдите к решениям Тома Уиллиса, просто некоторые вещи, которые следует учитыватьЯ завершаю этот код, но меняю некоторые вещи: строка за строкой:
#I delete follow line:
from sqlalchemy.databases.mysql import MSBinary
, потому что в sqlalchemy 0.6 это dialects.sqllite, но я не использую его, я использую:
from sqlalchemy.types import Binary
просто измените следующую строку в классе UUID:
class UUID(types.TypeDecorator):
impl = Binary # this one!
...
...
id_column_name = "id"
def id_column():
import uuid
return Column(id_column_name,UUID(),primary_key=True,default=uuid.uuid4)
#usage:
app_uuid = Column(u'app_uuid', UUID(), primary_key=True)
И это работает для меня, удачи!
предыдущий ответ
user = Table(
'User',
meta.metadata,
Column('ID', UUID(as_uuid=True), primary_key=True),
Column('Name', String(250), nullable=False, unique=True)
)