<bdo id='kK3Ez'></bdo><ul id='kK3Ez'></ul>
      1. <tfoot id='kK3Ez'></tfoot>

      2. <i id='kK3Ez'><tr id='kK3Ez'><dt id='kK3Ez'><q id='kK3Ez'><span id='kK3Ez'><b id='kK3Ez'><form id='kK3Ez'><ins id='kK3Ez'></ins><ul id='kK3Ez'></ul><sub id='kK3Ez'></sub></form><legend id='kK3Ez'></legend><bdo id='kK3Ez'><pre id='kK3Ez'><center id='kK3Ez'></center></pre></bdo></b><th id='kK3Ez'></th></span></q></dt></tr></i><div id='kK3Ez'><tfoot id='kK3Ez'></tfoot><dl id='kK3Ez'><fieldset id='kK3Ez'></fieldset></dl></div>
        <legend id='kK3Ez'><style id='kK3Ez'><dir id='kK3Ez'><q id='kK3Ez'></q></dir></style></legend>

        <small id='kK3Ez'></small><noframes id='kK3Ez'>

        姜戈过滤多对多包含

        Django filter many-to-many with contains(姜戈过滤多对多包含)
          <bdo id='VKiOA'></bdo><ul id='VKiOA'></ul>

            1. <i id='VKiOA'><tr id='VKiOA'><dt id='VKiOA'><q id='VKiOA'><span id='VKiOA'><b id='VKiOA'><form id='VKiOA'><ins id='VKiOA'></ins><ul id='VKiOA'></ul><sub id='VKiOA'></sub></form><legend id='VKiOA'></legend><bdo id='VKiOA'><pre id='VKiOA'><center id='VKiOA'></center></pre></bdo></b><th id='VKiOA'></th></span></q></dt></tr></i><div id='VKiOA'><tfoot id='VKiOA'></tfoot><dl id='VKiOA'><fieldset id='VKiOA'></fieldset></dl></div>
              • <legend id='VKiOA'><style id='VKiOA'><dir id='VKiOA'><q id='VKiOA'></q></dir></style></legend><tfoot id='VKiOA'></tfoot>

                • <small id='VKiOA'></small><noframes id='VKiOA'>

                    <tbody id='VKiOA'></tbody>

                • 本文介绍了姜戈过滤多对多包含的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试通过多对多关系对一堆对象进行过滤操作。因为trigger_roles字段可能包含多个条目,所以我尝试了contains过滤。但是,由于这是设计用于字符串的,我几乎无能为力,我不知道应该如何过滤这个关系(您可以忽略values_list()ATM机。)。

                  此函数附加到用户配置文件:

                  def getVisiblePackages(self):
                      visiblePackages = {}   
                      for product in self.products.all():
                          moduleDict = {}
                          for module in product.module_set.all():
                              pkgList = []
                              involvedStatus = module.workflow_set.filter(trigger_roles__contains=self.role.id,allowed=True).values_list('current_state', flat=True)
                  

                  我的工作流模型如下(简化):

                  class Workflow(models.Model):
                      module = models.ForeignKey(Module)
                      current_state = models.ForeignKey(Status)
                      next_state = models.ForeignKey(Status)
                      allowed = models.BooleanField(default=False)
                      involved_roles = models.ManyToManyField(Role, blank=True, null=True)
                      trigger_roles = models.ManyToManyField(Role, blank=True, null=True)
                  

                  尽管解决方案可能非常简单,但我的大脑不会告诉我。

                  感谢您的帮助。

                  推荐答案

                  您是否尝试过这样的操作:

                  module.workflow_set.filter(trigger_roles__in=[self.role], allowed=True)
                  

                  或仅当self.role.id不是PKS列表:

                  module.workflow_set.filter(trigger_roles__id__exact=self.role.id, allowed=True)
                  

                  这篇关于姜戈过滤多对多包含的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
                  Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
                  Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
                  Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
                  Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
                  Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)

                  • <tfoot id='f0nHt'></tfoot>
                  • <small id='f0nHt'></small><noframes id='f0nHt'>

                      <tbody id='f0nHt'></tbody>
                      <legend id='f0nHt'><style id='f0nHt'><dir id='f0nHt'><q id='f0nHt'></q></dir></style></legend>

                      • <i id='f0nHt'><tr id='f0nHt'><dt id='f0nHt'><q id='f0nHt'><span id='f0nHt'><b id='f0nHt'><form id='f0nHt'><ins id='f0nHt'></ins><ul id='f0nHt'></ul><sub id='f0nHt'></sub></form><legend id='f0nHt'></legend><bdo id='f0nHt'><pre id='f0nHt'><center id='f0nHt'></center></pre></bdo></b><th id='f0nHt'></th></span></q></dt></tr></i><div id='f0nHt'><tfoot id='f0nHt'></tfoot><dl id='f0nHt'><fieldset id='f0nHt'></fieldset></dl></div>

                            <bdo id='f0nHt'></bdo><ul id='f0nHt'></ul>