diff options
| author | Luke Plant <L.Plant.98@cantab.net> | 2014-10-02 11:19:18 +0100 |
|---|---|---|
| committer | Luke Plant <L.Plant.98@cantab.net> | 2014-10-02 11:34:19 +0100 |
| commit | adae2245726a8bcdcb7d4b35455fe7caacc435b6 (patch) | |
| tree | eb82f64f277f8d68585ff1b9f0e90fd4ec13a1f9 | |
| parent | b21ec1ab6e92c1d35edca4a71e01f928ef0e1656 (diff) | |
[1.7.x] Documented how to rename get_query_set if you are a library author
Backport of ca139bbfdf48bf59b0918a7d675cdc5d4ae60957 from master
| -rw-r--r-- | docs/releases/1.6.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt index 3fcbf073e6..8e5748e32e 100644 --- a/docs/releases/1.6.txt +++ b/docs/releases/1.6.txt @@ -1099,6 +1099,26 @@ a regular deprecation path. Methods that return a ``QuerySet`` such as ``Manager.get_query_set`` or ``ModelAdmin.queryset`` have been renamed to ``get_queryset``. +If you are writing a library that implements, for example, a +``Manager.get_query_set`` method, and you need to support old Django versions, +you should rename the method and conditionally add an alias with the old name:: + + class CustomManager(models.Manager): + def get_queryset(self): + pass # ... + + if django.VERSION < (1, 6): + get_query_set = get_queryset + + # For Django >= 1.6, models.Manager provides a get_query_set fallback + # that emits a warning when used. + +If you are writing a library that needs to call the ``get_queryset`` method and +must support old Django versions, you should write:: + + method = getattr(some_manager, 'get_queryset', some_manager.get_query_set) + method(params) + ``shortcut`` view and URLconf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
