答案 0 :(得分:1)
我通过以下方式解决了这个问题:
首先,我创建了一个CurrentCompanyManager。
class CurrentCompanyManager(models.Manager):
def __init__(self,field,*args,**kwargs):
super(CurrentCompanyManager,self).__init__(*args,**kwargs)
self.__field_name = field
def on(self,company):
return self.filter( **{ self.__field_name + '__id__exact':company.id } )
我将管理员添加到我需要的所有模型中。
class Employee(models.Model):
# some fields and relationships
objects = CurrentCompanyManager("section__company")
class Accounts(models.Model):
# some fields and relationships
objects = CurrentCompanyManager("customer__company")
现在我可以轻松地限制视图中的模型数据。
def magic_view(request):
Employee.objects.on(request.company).all()
它应该是不言自明的。如果没有,请问我。
答案 1 :(得分:0)