Существует ли в Python облегченная оболочка базы данных, которую я могу использовать для SQLite. Я хотел бы что-то вроде Django ORM, но я могу просто указать на файл базы данных, и он сделает для меня требуемый API (т.е. Обрабатывать все CRUD).
Базовая оболочка базы данных Python для SQLite
Ответ 1
Да, SQLAlchemy отлично, но есть и другие варианты. Один из них - Певи. Очень легкий, и он может идеально вписываться в то, что вы ищете.
Ответ 2
SQLAlchemy может быть тем, что вы ищете.
Ответ 3
Некоторые параметры:
Ответ 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, если это необходимо.