0
status
의 일부를 숨기는 Company
모델이 있습니다. 따라서 사용자가 Company.objects.all()
을 쿼리 할 때 부적절한 것으로 판단되는 특정 status
을 필터링합니다.모델 매니저에서 Django Queryset의 kwargs를 받으세요
class FilteredCompanyManager(models.Manager):
def get_queryset(self):
return super(FilteredCompanyManager, self).get_queryset().exclude(status__in=CompanyConstants.SPECIAL_STATUS.values())
내 문제는 내가 어떤 상태를 배제하지 Company.objects.filter(displayAllObjects=True)
뭔가를 원하는 것입니다 아래
class Company(models.Model):
name=models.TextField()
status=models.CharField()
...
objects = FilteredCompanyManager()
같은 뭔가. 그래서
class FilteredCompanyManager(models.Manager):
def get_queryset(self):
if 'displayAllObjects' in super(FilteredCompanyManager, self).get_queryset().get_kwargs():
return super(FilteredCompanyManager, self).get_queryset()
else:
return super(FilteredCompanyManager, self).get_queryset().exclude(status__in=CompanyConstants.SPECIAL_STATUS.values())
처럼 내 개정 가상 FilteredCompanyManager
보일 것이다 뭔가 내가 objects=FilteredCompanyManager
과 allObjects=models.Manager()
함께 할하지만 단일 모델 관리자에서 가능하지 두 모델 매니저와 방법을 원하는 아마 수있어.
displayAllObjects
을 보낼 수있는 관리 방법을 확인해야합니다