Подтвердить что ты не робот

Базовая оболочка базы данных Python для SQLite

Существует ли в Python облегченная оболочка базы данных, которую я могу использовать для SQLite. Я хотел бы что-то вроде Django ORM, но я могу просто указать на файл базы данных, и он сделает для меня требуемый API (т.е. Обрабатывать все CRUD).

4b9b3361

Ответ 1

Да, SQLAlchemy отлично, но есть и другие варианты. Один из них - Певи. Очень легкий, и он может идеально вписываться в то, что вы ищете.

https://github.com/coleifer/peewee

Ответ 4

Определенно peewee. Я пробовал sqlalchemy, но это беспорядок, и нет волшебства.

Другие ORM не более развиты или не так хороши, как SQLobject, Elixir (слой поверх sqlalchemy), PonyORM. Peewee - лучшее, что я видел до сих пор в сообществе python, и это ближе к основным ORM для ruby ​​или для php.

У Peewee также есть много драгоценных камней, как этот небольшой ярлык

Person.get_or_create(name='Foo', surname='Bar')

которые автоматически переносят человека с именем "Foo Bar" из БД, если он существует, в противном случае он его создает.

Ответ 5

Вы можете проверить RabaDB. Это, возможно, один из самых простых интерфейсов.

class Human(R.Raba) :
        _raba_namespace = 'test_namespace'

        #Everything that is not a raba object is primitive
        name = rf.Primitive()
        age = rf.Primitive()
        city = rf.Primitive()

        #Only Cars can fit into this relation
        cars = rf.Relation('Car')

        #best friend can only be a human
        bestFriend = rf.RabaObject('Human')

Он оптимизирован для небольшого потребления памяти, поддерживает запросы по примерам, наследование, имеет инструменты отладки и даже позволяет вам вернуться на SQL, если это необходимо.