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

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

    1. <legend id='GibGk'><style id='GibGk'><dir id='GibGk'><q id='GibGk'></q></dir></style></legend>

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

      1. 使用Django ORM可以通过多少种方式获取ManyToMany字段数据

        时间:2024-08-21

                <bdo id='tDETY'></bdo><ul id='tDETY'></ul>
              • <small id='tDETY'></small><noframes id='tDETY'>

                  <tbody id='tDETY'></tbody>

                • <tfoot id='tDETY'></tfoot>
                • <i id='tDETY'><tr id='tDETY'><dt id='tDETY'><q id='tDETY'><span id='tDETY'><b id='tDETY'><form id='tDETY'><ins id='tDETY'></ins><ul id='tDETY'></ul><sub id='tDETY'></sub></form><legend id='tDETY'></legend><bdo id='tDETY'><pre id='tDETY'><center id='tDETY'></center></pre></bdo></b><th id='tDETY'></th></span></q></dt></tr></i><div id='tDETY'><tfoot id='tDETY'></tfoot><dl id='tDETY'><fieldset id='tDETY'></fieldset></dl></div>
                  <legend id='tDETY'><style id='tDETY'><dir id='tDETY'><q id='tDETY'></q></dir></style></legend>
                  本文介绍了使用Django ORM可以通过多少种方式获取ManyToMany字段数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  假设我有一个名为AB的模型。在模型B中,我有ManyToMany字段要建模A,那么我可以通过多少种方式使用模型B

                  从模型A获取数据
                  class A(models.Model):
                      name= models.CharField(...)
                  
                  class B(models.Model):
                      a= models.ManyToManyField(A)
                  

                  推荐答案

                  最直接的两种方式是访问B的模型对象的a管理器,所以:

                  model_b_object.a.all()

                  检索相关对象的另一种方式是过滤B模型,因此:

                  A.objects.filter(b=model_b_object)

                  如果您定义了模型,例如:

                  class A(models.Model):
                      name= models.CharField(...)
                  
                  class B(models.Model):
                      a= models.ManyToManyField(
                          A
                          through='C'
                      )
                  
                  class C(models.Model):
                      a = models.ForeignKey(A, on_delete=models.CASCADE)
                      b = models.ForeignKey(B, on_delete=models.CASCADE)

                  然后您也可以通过以下方式访问:

                  A.models.objects.filter(c__b=model_b_object)

                  但这只会使ORM调用更复杂,可读性更差。

                  这篇关于使用Django ORM可以通过多少种方式获取ManyToMany字段数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:姜戈过滤多对多包含 下一篇:Django get()返回了多个

                  相关文章

                    1. <legend id='ApVhB'><style id='ApVhB'><dir id='ApVhB'><q id='ApVhB'></q></dir></style></legend>

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

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