概述
我怎样才能做到这一点?
qs = Model.objects.filter(...) # qs with objects to exclude result = Model.objects.exclude(pk__in=qs.values_list('pk',flat=True))
更多DRY解决方案
但是,如果您想多次使用逻辑,我建议将其封装在一个方法中.这是我在自定义查询集中使用的一个例子:
class QuerysetUtils: def get_queryset_complement(self,method): return self.exclude(pk__in=method().values_list('pk',flat=True)) class ExpirableQueryset(QuerysetUtils,models.query.QuerySet): def expired(self): return self.filter(expiration__lte=timezone.Now()) def unexpired(self): return self.get_queryset_complement(self.expired)
总结
以上是编程之家为你收集整理的python – Django:获取查询集的补充全部内容,希望文章能够帮你解决python – Django:获取查询集的补充所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧