mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #34140 -- Reformatted code blocks in docs with blacken-docs.
This commit is contained in:
committed by
Mariusz Felisiak
parent
6015bab80e
commit
14459f80ee
@@ -47,9 +47,9 @@ second element is an SQL operator represented as a string. To avoid typos, you
|
||||
may use :class:`~django.contrib.postgres.fields.RangeOperators` which maps the
|
||||
operators with strings. For example::
|
||||
|
||||
expressions=[
|
||||
('timespan', RangeOperators.ADJACENT_TO),
|
||||
(F('room'), RangeOperators.EQUAL),
|
||||
expressions = [
|
||||
("timespan", RangeOperators.ADJACENT_TO),
|
||||
(F("room"), RangeOperators.EQUAL),
|
||||
]
|
||||
|
||||
.. admonition:: Restrictions on operators.
|
||||
@@ -60,8 +60,8 @@ The :class:`OpClass() <django.contrib.postgres.indexes.OpClass>` expression can
|
||||
be used to specify a custom `operator class`_ for the constraint expressions.
|
||||
For example::
|
||||
|
||||
expressions=[
|
||||
(OpClass('circle', name='circle_ops'), RangeOperators.OVERLAPS),
|
||||
expressions = [
|
||||
(OpClass("circle", name="circle_ops"), RangeOperators.OVERLAPS),
|
||||
]
|
||||
|
||||
creates an exclusion constraint on ``circle`` using ``circle_ops``.
|
||||
@@ -103,9 +103,9 @@ are ``Deferrable.DEFERRED`` or ``Deferrable.IMMEDIATE``. For example::
|
||||
|
||||
|
||||
ExclusionConstraint(
|
||||
name='exclude_overlapping_deferred',
|
||||
name="exclude_overlapping_deferred",
|
||||
expressions=[
|
||||
('timespan', RangeOperators.OVERLAPS),
|
||||
("timespan", RangeOperators.OVERLAPS),
|
||||
],
|
||||
deferrable=Deferrable.DEFERRED,
|
||||
)
|
||||
@@ -161,22 +161,23 @@ taking canceled reservations into account::
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
|
||||
|
||||
class Room(models.Model):
|
||||
number = models.IntegerField()
|
||||
|
||||
|
||||
class Reservation(models.Model):
|
||||
room = models.ForeignKey('Room', on_delete=models.CASCADE)
|
||||
room = models.ForeignKey("Room", on_delete=models.CASCADE)
|
||||
timespan = DateTimeRangeField()
|
||||
cancelled = models.BooleanField(default=False)
|
||||
|
||||
class Meta:
|
||||
constraints = [
|
||||
ExclusionConstraint(
|
||||
name='exclude_overlapping_reservations',
|
||||
name="exclude_overlapping_reservations",
|
||||
expressions=[
|
||||
('timespan', RangeOperators.OVERLAPS),
|
||||
('room', RangeOperators.EQUAL),
|
||||
("timespan", RangeOperators.OVERLAPS),
|
||||
("room", RangeOperators.EQUAL),
|
||||
],
|
||||
condition=Q(cancelled=False),
|
||||
),
|
||||
@@ -202,12 +203,12 @@ current/rangetypes.html#RANGETYPES-INCLUSIVITY>`_. For example::
|
||||
|
||||
|
||||
class TsTzRange(Func):
|
||||
function = 'TSTZRANGE'
|
||||
function = "TSTZRANGE"
|
||||
output_field = DateTimeRangeField()
|
||||
|
||||
|
||||
class Reservation(models.Model):
|
||||
room = models.ForeignKey('Room', on_delete=models.CASCADE)
|
||||
room = models.ForeignKey("Room", on_delete=models.CASCADE)
|
||||
start = models.DateTimeField()
|
||||
end = models.DateTimeField()
|
||||
cancelled = models.BooleanField(default=False)
|
||||
@@ -215,10 +216,13 @@ current/rangetypes.html#RANGETYPES-INCLUSIVITY>`_. For example::
|
||||
class Meta:
|
||||
constraints = [
|
||||
ExclusionConstraint(
|
||||
name='exclude_overlapping_reservations',
|
||||
name="exclude_overlapping_reservations",
|
||||
expressions=[
|
||||
(TsTzRange('start', 'end', RangeBoundary()), RangeOperators.OVERLAPS),
|
||||
('room', RangeOperators.EQUAL),
|
||||
(
|
||||
TsTzRange("start", "end", RangeBoundary()),
|
||||
RangeOperators.OVERLAPS,
|
||||
),
|
||||
("room", RangeOperators.EQUAL),
|
||||
],
|
||||
condition=Q(cancelled=False),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user