浏览代码

Fixed #21333 -- Doc'd the & and | queryset operators.

Colm O'Connor 6 年之前
父节点
当前提交
c530428d36
共有 1 个文件被更改,包括 40 次插入0 次删除
  1. 40 0
      docs/ref/models/querysets.txt

+ 40 - 0
docs/ref/models/querysets.txt

@@ -1750,6 +1750,46 @@ See the :doc:`/topics/db/sql` for more information.
   filtering. As such, it should generally be called from the ``Manager`` or
   from a fresh ``QuerySet`` instance.
 
+Operators that return new ``QuerySet``\s
+----------------------------------------
+
+Combined querysets must use the same model.
+
+AND (``&``)
+~~~~~~~~~~~
+
+Combines two ``QuerySet``\s using the SQL ``AND`` operator.
+
+The following are equivalent::
+
+    Model.objects.filter(x=1) & Model.objects.filter(y=2)
+    Model.objects.filter(x=1, y=2)
+    from django.db.models import Q
+    Model.objects.filter(Q(x=1) & Q(y=2))
+
+SQL equivalent:
+
+.. code-block:: sql
+
+    SELECT ... WHERE x=1 AND y=2
+
+OR (``|``)
+~~~~~~~~~~
+
+Combines two ``QuerySet``\s using the SQL ``OR`` operator.
+
+The following are equivalent::
+
+    Model.objects.filter(x=1) | Model.objects.filter(y=2)
+    from django.db.models import Q
+    Model.objects.filter(Q(x=1) | Q(y=2))
+
+SQL equivalent:
+
+.. code-block:: sql
+
+    SELECT ... WHERE x=1 OR y=2
+
 Methods that do not return ``QuerySet``\s
 -----------------------------------------