Changes between Version 19 and Version 20 of NonSqlBackends
- 08/28/09 02:49:15 (7 years ago)
v19 v20 1 Here we collect the high-level refactorings required for non-sql (or non-relational) backends. Also see the specific backend docs for details: AppEngine 1 Here we collect the high-level refactorings required for non-sql (or non-relational) backends. 2 3 The Django ORM work for supporting non-relational DB backends and possibly other Django-internal changes are in: 4 http://bitbucket.org/gumptioncom/django-non-relational/ 5 6 Related tickets: #10355 7 8 Specific backend specifications: AppEngine, [wiki:SimpleDB] 2 9 3 10 Database query operations (get, count, ... entities) are provided to Django models via managers. Managers basically wrap around QuerySet methods. Internally Django's QuerySet class uses sql.Query whose default is sql.BaseQuery. sql.Query can be overridden to use a custom Query class (the backend). So we end up writting a Query class in order to provide a specific backend. So anything done in Django's Model methods or QuerySet methods which cannot be done for a specific backend should be moved into the Query in order to allow backends to specify what to do in such cases.