Changes between Version 20 and Version 21 of NoSqlSupport


Ignore:
Timestamp:
06/30/2011 03:24:23 PM (4 years ago)
Author:
jonash
Comment:

move fields into subsection

Legend:

Unmodified
Added
Removed
Modified
  • NoSqlSupport

    v20 v21  
    8787 Implementation status:: Django-nonrel's App Engine backend currently just limits the maximum count to 1000. Other backends don't have a `count()` limit, but that might lead to inefficient queries.
    8888
    89 = !ListField =
     89= Fields added in djangotoolbox =
     90
     91== !ListField ==
    9092
    9193NoSQL DBs use `ListField` in a lot of places. They are basically a replacement for `ManyToManyField`. BTW, some SQL DBs have a special array type which could also be supported via `ListField`.
     
    9395This is already implemented in Django-nonrel.
    9496
    95 = !SetField =
     97== !SetField ==
    9698
    9799Another useful type is `SetField` which stores a set instead of a list. On DBs that don't support sets this field can be emulated by storing a list, instead. This is the approach taken by Django-nonrel's App Engine backend.
     
    99101This is already implemented in Django-nonrel.
    100102
    101 = !DictField =
     103== !DictField ==
    102104
    103105MongoDB and other databases use `ListField` in combination with `DictField` to completely replace `ManyToManyField` in a lot of cases. Django currently doesn't provide an API for querying the data within a `DictField` (especially if it's embedded in a `ListField`). Ideally, the query API would just use the `foo__bar` JOIN syntax.
     
    105107The field is already implemented in Django-nonrel, but lookups aren't supported, yet.
    106108
    107 = !EmbeddedModelField =
     109== !EmbeddedModelField ==
    108110
    109111This is a field which stores model instances like a "sub-table within a field". Internally, it's just a `DictField` which converts model instances to/from dicts. In addition to the `DictField` issues this field also has to call the embedded fields' conversion functions, which again requires special support if the JOIN syntax should be supported.
     
    111113The field is already implemented in Django-nonrel, but lookups aren't supported, yet.
    112114
    113 = !BlobField =
     115== !BlobField ==
    114116
    115117Many databases provide support for a raw binary data type. Many App Engine developers depend on this field to store file-like data because App Engine doesn't provide write access to the file system (there is a new Blobstore API, but that doesn't yet allow direct write access).
     
    117119This is already implemented in Django-nonrel.
    118120
    119 = !ImageField =
     121== !ImageField ==
    120122
    121123Currently, !ImageField depends on PIL. It might be necessary to provide a backend API for sandboxed platforms (like App Engine) that don't provide PIL support.
Back to Top