managers.py 514 B

12345678910111213141516171819
  1. from django.db.models import Manager, QuerySet
  2. from .constants import NONCONNECTABLE_IFACE_TYPES
  3. class InterfaceQuerySet(QuerySet):
  4. def connectable(self):
  5. """
  6. Return only physical interfaces which are capable of being connected to other interfaces (i.e. not virtual or
  7. wireless).
  8. """
  9. return self.exclude(type__in=NONCONNECTABLE_IFACE_TYPES)
  10. class InterfaceManager(Manager):
  11. def get_queryset(self):
  12. return InterfaceQuerySet(self.model, using=self._db)