diff options
| author | Tom Christie | 2013-06-10 17:46:55 +0100 | 
|---|---|---|
| committer | Tom Christie | 2013-06-10 17:46:55 +0100 | 
| commit | 5d0aeef69ecec70242513195c19edcb622e14371 (patch) | |
| tree | c2c1992e8cb2861b11b1465bba67d9cee564baf2 /docs/api-guide | |
| parent | 351e172d4568e39df9760f989eb976c726e604ce (diff) | |
| download | django-rest-framework-5d0aeef69ecec70242513195c19edcb622e14371.tar.bz2 | |
Better docs related to lookup_field and hyperlinked serializers. Closes #920.
Diffstat (limited to 'docs/api-guide')
| -rwxr-xr-x | docs/api-guide/generic-views.md | 2 | ||||
| -rw-r--r-- | docs/api-guide/serializers.md | 4 | 
2 files changed, 4 insertions, 2 deletions
| diff --git a/docs/api-guide/generic-views.md b/docs/api-guide/generic-views.md index c8216954..cd1bc7a1 100755 --- a/docs/api-guide/generic-views.md +++ b/docs/api-guide/generic-views.md @@ -60,7 +60,7 @@ The following attributes control the basic view behavior.  * `queryset` - The queryset that should be used for returning objects from this view.  Typically, you must either set this attribute, or override the `get_queryset()` method.  * `serializer_class` - The serializer class that should be used for validating and deserializing input, and for serializing output.  Typically, you must either set this attribute, or override the `get_serializer_class()` method. -* `lookup_field` - The field that should be used to lookup individual model instances.  Defaults to `'pk'`.  The URL conf should include a keyword argument corresponding to this value.  More complex lookup styles can be supported by overriding the `get_object()` method. +* `lookup_field` - The field that should be used to lookup individual model instances.  Defaults to `'pk'`.  The URL conf should include a keyword argument corresponding to this value.  More complex lookup styles can be supported by overriding the `get_object()` method.  Note that when using hyperlinked APIs you'll need to ensure that *both* the API views *and* the serializer classes use lookup fields that correctly correspond with the URL conf.  **Shortcuts**: diff --git a/docs/api-guide/serializers.md b/docs/api-guide/serializers.md index 9b6a547f..0885eb52 100644 --- a/docs/api-guide/serializers.md +++ b/docs/api-guide/serializers.md @@ -387,7 +387,7 @@ There needs to be a way of determining which views should be used for hyperlinki  By default hyperlinks are expected to correspond to a view name that matches the style `'{model_name}-detail'`, and looks up the instance by a `pk` keyword argument. -You can change the field that is used for object lookups by setting the `lookup_field` option.  The value of this option should correspond both with a kwarg in the URL conf, and with an field on the model.  For example: +You can change the field that is used for object lookups by setting the `lookup_field` option.  The value of this option should correspond both with a kwarg in the URL conf, and with a field on the model.  For example:      class AccountSerializer(serializers.HyperlinkedModelSerializer):          class Meta: @@ -395,6 +395,8 @@ You can change the field that is used for object lookups by setting the `lookup_              fields = ('url', 'account_name', 'users', 'created')              lookup_field = 'slug' +Not that the `lookup_field` will be used as the default on *all* hyperlinked fields, including both the URL identity, and any hyperlinked relationships. +  For more specfic requirements such as specifying a different lookup for each field, you'll want to set the fields on the serializer explicitly.  For example:      class AccountSerializer(serializers.HyperlinkedModelSerializer): | 
