2017-09-30 1 views
-2

Dies ist ein Code von Django selbst.Ein Fehler oder kein Fehler (get_paginate_by)

Bitte beachten Sie, dass das Queryset in der Methode nicht verwendet wird.

Nun, ich kann mir nicht vorstellen, wie es hier verwendet werden kann.

Können Sie mir sagen, ob das ein Fehler ist oder nicht? Wenn es so ist, könnte ich ein Ticket bei Djangoproject erheben.

Wenn dies kein Fehler ist, sollten wir den Zweck dieses Parameters im Kommentar verdeutlichen. In diesem Fall könnte ich auch ein Ticket erheben.

Oder alles ist hier in Ordnung?

django/views/generic/list.py

class MultipleObjectMixin(ContextMixin): 

    def get_paginate_by(self, queryset): 
     """ 
     Get the number of items to paginate by, or ``None`` for no pagination. 
     """ 
     return self.paginate_by 
+0

Das ist nur die Schnittstellendefinition der Methode - Sie * können * das Queryset verwenden, sind aber * nicht * erforderlich. Per [die Dokumente] (https://docs.djangoproject.com/en/1.11/ref/class-based-views/mixins-multiple-object/): * "Standardmäßig gibt dies einfach den Wert von paginate_by" * zurück. – jonrsharpe

+0

Nun, warum ist es hier? Wenn es hier notwendig ist, lass es sein. Aber ich hätte den Zweck lieber geklärt. Wenn es nutzlos ist, sollte es von der Schnittstelle entfernt werden, nicht wahr? – Michael

+0

Dieses Gespräch gehört wirklich dem Django Bugtracker, nicht hier. – JJJ

Antwort

1

Stellen Sie sich vor, wenn Sie MultipleObjectMixin erweitern möchten, würden Sie Ihre Standard-Implementierungsmethoden haben wollen, die Sie überschreiben können und werden Sie aus der Kopie behalten -pasting Basismethode Kerncode.

Wenn Sie darüber nachdenken, ist es nicht sehr sinnvoll, eine Methode zu haben, die bereits gesetzten Wert zurückgibt, wenn es nicht gedacht ist, es zu erweitern.

In diesem Fall dachte der Ersteller von Mixin, dass Sie in einigen Anwendungsfällen der Erweiterung der folgenden Funktion Queriesets benötigen könnten.