如何访问已在Django Custom Manager中过滤的所有字段

时间:2010-07-21 14:57:48

标签: django django-models filter django-queryset

我正在编写自定义管理器,并实现get_query_set方法。

基本上,我想看到某些字段被传递到查询中,认为自定义站点管理器但不想添加我想要的过滤器以确保过滤某些字段。下面是一种方法,但我想知道是否有更好的方法来获得受限制的字段

class OrgBaseModelManager(models.Manager):
  def get_query_set(self):
    qs = super(OrgBaseModelManager, self).get_query_set()
    #Below returns a list of 
    constraint_lists = [c.children for c in qs.query.where.children]
    import itertools
    chain = itertools.chain(*constraint_lists)
    constraint_fields =  list(chain)

    #here is where I would do my magic        

    return super(OrgBaseModelManager, self).get_query_set() 

所以我的问题是,看看是否有更好的方法,我担心非常复杂的查询,我没有正确地平放树。

有哪些更好的方法?

0 个答案:

没有答案