Wann sollte ich ein custom-Manager im Vergleich zu einem custom-QuerySet in Django?

In Django, custom-Manager sind eine große Weise, sich zu organisieren wiederverwendbare query-Logik. Die docs Staat, der es gibt zwei Gründe, die Sie vielleicht anpassen möchten einen Manager: hinzufügen von zusätzlichen Manager-Methoden, und/oder zum ändern der anfänglichen QuerySet der Manager zurück.

Jedoches geht zu beschreiben, wie benutzerdefinierte QuerySets können auch erstellt werden, und dass diese zugänglich gemacht werden können direkt aus dem Datenmodell als manager über die QuerySet.as_manager(). Die Manager-Instanz erstellt, indem QuerySet.as_manager() werden praktisch identisch mit dem des PersonManager aus dem vorherigen Beispiel.

Es scheint, wie es gibt eine Menge Flexibilität in, wie könnte man organisieren, Ihre Logik zwischen custom Manager und/oder benutzerdefinierte QuerySets. Kann jemand erklären die Prinzipien, nach denen ich entscheiden sollte, Wann eine im Vergleich zu den anderen?

InformationsquelleAutor John Lehmann | 2015-04-22
Schreibe einen Kommentar