Changes between Version 13 and Version 14 of NoSqlSupport
- Timestamp:
- Apr 27, 2011, 2:57:37 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
NoSqlSupport
v13 v14 62 62 This is already implemented in Django-nonrel, but it's missing the deprecation warning and backwards-compatible mode when only using SQL backends. 63 63 64 = INSERT vs UPDATE = 65 66 Currently, `Model.save_base()` runs a check whether the pk already exists in the database. This check is necessary for SQL, but it's unnecessary and inefficient on many NoSQL DBs and it also conflicts with App Engine's optimistic transactions. Thus, Django should not distinguish between insert and update operations on DBs that don't require it. 67 68 This comes with a minor problem: Without that check model instances have to track whether they were instantiated from the DB and thus exist in the DB or not. Otherwise the `Field.pre_save()` `add` parameter won't work correctly and the `post_save` signal won't report correctly whether this is a new entity or not. 69 70 This is already implemented in Django-nonrel. 71 72 = count() = 73 74 `Query.count()` is problematic since a scalable `count()` method doesn't exist at least on App Engine. It would be nice to be able to pass an upper limit like `count(100)`, so if there are more than 100 results it will still return just 100. 75 76 This also affects the results count in the admin interface. 77 78 Django-nonrel's App Engine backend currently just limits the maximum count to 1000. Other backends don't have a `count()` limit. 79 64 80 = !ListField = 65 81 … … 123 139 This is not implemented in Django-nonrel. 124 140 125 = INSERT vs UPDATE =126 127 Currently, `Model.save_base()` runs a check whether the pk already exists in the database. This check is necessary for SQL, but it's unnecessary and inefficient on many NoSQL DBs and it also conflicts with App Engine's optimistic transactions. Thus, Django should not distinguish between insert and update operations on DBs that don't require it.128 129 This comes with a minor problem: Without that check model instances have to track whether they were instantiated from the DB and thus exist in the DB or not. Otherwise the `Field.pre_save()` `add` parameter won't work correctly and the `post_save` signal won't report correctly whether this is a new entity or not.130 131 This is already implemented in Django-nonrel.132 133 141 = Transactions = 134 142 … … 144 152 145 153 Django-nonrel doesn't yet support bookmarks, but the App Engine backend provides a private API for them. 146 147 = count() =148 149 `Query.count()` is problematic since a scalable `count()` method doesn't exist at least on App Engine. It would be nice to be able to pass an upper limit like `count(100)`, so if there are more than 100 results it will still return just 100.150 151 This also affects the results count in the admin interface.152 153 Django-nonrel's App Engine backend currently just limits the maximum count to 1000. Other backends don't have a `count()` limit.