Je lisais django docs et ces deux classes semblait similaire,gestionnaire de modèle django ou django queryset
ici est l'échantillon de django docs:
class PersonQuerySet(models.QuerySet):
def authors(self):
return self.filter(role='A')
def editors(self):
return self.filter(role='E')
class PersonManager(models.Manager):
def get_queryset(self):
return PersonQuerySet(self.model, using=self._db)
def authors(self):
return self.get_queryset().authors()
def editors(self):
return self.get_queryset().editors()
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
role = models.CharField(max_length=1, choices=(('A', _('Author')), ('E', _('Editor'))))
people = PersonManager()
Dans l'exemple de code que vous pouvez voir code PersonQuerySet
peut être déplacé à PersonManager
(ou déplacer le gestionnaire à l'ensemble de requêtes) - mon point est que je peux fusionner les uns aux autres sans aucun problème)
alors quelle est la différence entre manager et queryset? ont-ils différents cas d'utilisation? ou devrais-je simplement en utiliser un et ignorer l'existence de l'autre?