Có một trình bao bọc cơ sở dữ liệu gọn nhẹ trong Python mà tôi có thể sử dụng cho SQLite không. Tôi muốn một cái gì đó như ORM của Django, nhưng tôi chỉ có thể trỏ đến một tập tin cơ sở dữ liệu và nó sẽ làm cho API cần thiết cho tôi (tức là xử lý tất cả các CRUD).Trình bao bọc cơ sở dữ liệu gọn nhẹ của Python cho SQLite
Trả lời
Yeah, SQLAlchemy là rất tốt, nhưng cũng có những lựa chọn khác. Một trong số đó là Peewee. Rất nhẹ và nó có thể phù hợp hoàn hảo với những gì bạn đang tìm kiếm.
SQLAlchemy có thể là những gì bạn đang tìm kiếm.
có bất kỳ điều gì phức tạp đến nỗi khủng khiếp không? – Puzzled79
Lâu đời nhất và mạnh mẽ, nhưng có vẻ phức tạp và không tốt nhất trong nhà phát triển thân thiện. nhưng kỹ năng deverlopment khó đòi hỏi phải so sánh với Peewee. –
SQLALchemy - nó có lẽ là nổi tiếng nhất và được sử dụng. – jsbueno
Đồng ý. Nhưng Simon7 đã từ chối lời đề nghị đó từ Alex. – philofinfinitejest
Chắc chắn peewee. Tôi đã thử sqlalchemy nhưng nó là một mớ hỗn độn và không có phép thuật.
Các ORM khác không phát triển hay không tốt như SQLobject, Elixir (lớp trên đầu sqlalchemy), PonyORM. Peewee là tốt nhất mà tôi đã nhìn thấy cho đến nay trong cộng đồng python, và nó gần gũi hơn với các ORM chính cho ruby hoặc cho php.
Peewee cũng có nhiều đá quý, giống như shortcut số này
Person.get_or_create(name='Foo', surname='Bar')
rằng Automagically mất người có tên 'Foo Bar' từ DB nếu nó tồn tại, nếu không nó tạo ra nó.
Khung chính xác, đơn giản hơn tốt hơn –
Sau khi làm việc trong một năm với SQLAlchemy, tôi có thể nói rằng đó là khuôn khổ phát triển tốt nhất hiện tại.Tôi sẽ không xem xét bất kỳ khuôn khổ nào khác khi tôi phải làm việc với SQL. – Alessio
Bạn có thể thanh toán RabaDB. Nó được cho là một trong những giao diện đơn giản nhất hiện có.
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')
Nó được tối ưu hóa để tiêu thụ ít bộ nhớ, hỗ trợ truy vấn bằng ví dụ, kế thừa, có công cụ gỡ lỗi và thậm chí cho phép bạn quay trở lại SQL nếu cần.
Không tài liệu rõ ràng, cũng không rõ ràng trình diễn phức tạp nhất định. –
Tôi không đồng ý. Các github readme chứa khá nhiều tất cả mọi thứ bạn cần biết để sử dụng nó. Lên đến gỡ lỗi, giao dịch và thậm chí là thừa kế. Nếu bạn quan tâm đến sự phức tạp và biểu diễn, nó phụ thuộc nhiều vào phiên bản của SQLite. Tuy nhiên, không có gì được giữ bí mật ở đây. Bạn có thể dễ dàng in các truy vấn SQL bằng conn.enableQueryPrint (True) (cf. readme). Nếu bạn muốn xem xét các lược đồ, các tệp .db có thể được mở bằng bất kỳ trình khách SQLite nào và bạn có thể sử dụng giải thích của SQLite để có cái nhìn tốt hơn về các buổi biểu diễn tùy thuộc vào phiên bản SQLite của bạn. – tariqdaouda
Dường như bạn không đồng ý với kiến thức nhỏ của bạn, hãy xem cách duy trì tài liệu. https://github.com/coleifer/peewee và cũng có thể http://docs.peewee-orm.com/en/latest/, thêm vài mẫu chúng tôi không thể nói rõ tài liệu. Bạn có thể kết hợp tài liệu của nó, nhưng nó chỉ chiếm 2% tài liệu hoàn chỉnh. Chỉ cần nhìn thấy ngày nay không có một ngã ba hoặc đánh giá cao RabaDb libs, tôi có thể xem xét bạn không đồng ý là cá nhân của bạn. Nhưng RabaDB vẫn yếu hơn sử dụng. –
Chỉ cần hoàn tất lớp orm hướng đối tượng python rất đơn giản và mát mẻ này.
- 1. SQLite: cơ sở dữ liệu chỉ đọc
- 2. cơ sở dữ liệu sqlite ios7 với WAL không bao giờ đồng bộ hóa tệp cơ sở dữ liệu chính
- 3. Xóa dữ liệu theo lập trình của cơ sở dữ liệu sqlite bằng thư viện ormlite
- 4. Cơ sở dữ liệu cho Python Twisted
- 5. Lỗi khi tách cơ sở dữ liệu SQLite - cơ sở dữ liệu bị khóa
- 6. Nhiều Cơ sở dữ liệu SQLite cho nhiều ngôn ngữ?
- 7. Sao chép ngang hàng của cơ sở dữ liệu sqlite
- 8. Cơ sở dữ liệu SQLite của Android: chèn chậm
- 9. Lược đồ cơ sở dữ liệu Sqlite của Android
- 10. Có trình bao bọc .NET/C# cho SQLite không?
- 11. Trình bao bọc OO C++ tốt cho sqlite
- 12. Cơ sở dữ liệu hạng nhẹ (SQL hoặc NoSQL)
- 13. Bạn nên thu gọn cơ sở dữ liệu SQL CE bao lâu một lần?
- 14. giữ bảng nhật ký trong cơ sở dữ liệu sqlite?
- 15. Trình xem/phân tích truy vấn cho cơ sở dữ liệu SQLite
- 16. Android duyệt cơ sở dữ liệu SQLite trên điện thoại
- 17. Cơ sở dữ liệu Flushing và SQLite trên android
- 18. Tạo cơ sở dữ liệu trong JDBC Sqlite
- 19. Tạo trình kích hoạt cho cơ sở dữ liệu sqlite ngăn chặn chèn
- 20. Chức năng trình bao bọc cho IndexedDB
- 21. Cơ sở dữ liệu SQLite với FMDatabase Wrapper
- 22. đồng bộ hóa cơ sở dữ liệu sqlite android
- 23. Cách tìm phiên bản tệp cơ sở dữ liệu SQLITE
- 24. triển khai cơ sở dữ liệu python
- 25. Lớp Bất động sản Không được bao gồm như là cột cơ sở dữ liệu SQLite
- 26. Cập nhật các phiên bản cơ sở dữ liệu sqlite?
- 27. Tôi có thể tạo bao nhiêu bảng và cơ sở dữ liệu trong sqlite Android?
- 28. Android ExpandableListView và cơ sở dữ liệu SQLite
- 29. Sqlite + C#: Không thể mở tệp cơ sở dữ liệu
- 30. Là chủ đề cơ sở dữ liệu Sqlite an toàn
peewee hy vọng sẽ đưa bạn đến đó. nếu bạn đã có một cơ sở dữ liệu, có một kịch bản "pwiz" sẽ tạo ra mã mẫu: http://charlesleifer.com/blog/model-code-generation-peewee/ – coleifer
peewee đơn giản và dễ sử dụng. –
peewee là tốt. –