Tagairt sriantaLink to this heading
Cruthaíonn na ranganna atá sainithe sa mhodúl seo srianta bunachar sonraí. <django.db.models.Options.constraints>Cuirtear iad leis sa rogha samhail: attr: `Meta.Constraints `.
BaseConstraintLink to this heading
- class BaseConstraint(*name, violation_error_code=None, violation_error_message=None)Link to this definition
Aicme bonn do gach srianta. Ní mór do fho-aicmí modhanna
restricint_sql () ``, `create_sql (), remove_sql () ``agus ``validate ()` a chur i bhfeidhm.
Tá na paraiméadair seo a leanas i gcoiteann ag gach srianta:
``ainm `Link to this heading
- BaseConstraint.nameLink to this definition
Ainm an srianta. Ní mór duit ainm uathúil a shonrú i gcónaí don srian.
``cód_earráid_shárú `Link to this heading
- BaseConstraint.violation_error_codeLink to this definition
<validating-objects>An cód earráide a úsáidtear nuair a ardaítear ValidationError trí:ref: bailíochtú samhail `. Réamhshocraithe go ``None`.
``teachtaireachtaí earráid_shárúcháin ``Link to this heading
- BaseConstraint.violation_error_messageLink to this definition
<validating-objects>An teachtaireacht earráide a úsáidtear nuair a ardaítear ValidationError trí:ref: bailíochtú samhail `. Sárófar réamhshocraithe go `"Scrianadh “% (name) s”.
``bailíochtú () ``Link to this heading
- BaseConstraint.validate(model, instance, exclude=None, using=DEFAULT_DB_ALIAS)Link to this definition
Bailíonn sé go n-urramaítear an srian, a shainmhínítear ar samhail `, ar an instance`. Déanfaidh sé seo ceist ar an mbunachar sonraí chun a chinntiú go n-urramaítear an srian. Má theastaíonn réimsí sa liosta eisiam chun an srian a bhailíochtú, déantar neamhaird ar an srian.
Ardaigh Error Validation má sháraítear an srian.
Caithfidh fo-aicme an modh seo a chur i bhfeidhm.
Srianadh seiceálaLink to this heading
- class CheckConstraint(*, condition, name, violation_error_code=None, violation_error_message=None)Link to this definition
Cruthaíonn sé srian seiceála sa bhunachar sonraí.
coinníollLink to this heading
- CheckConstraint.conditionLink to this definition
A: aicme: Q réad nó boolean:class: ~django.db.Models.Expression a shonraíonn an seiceáil choinníollach a theastaíonn uait an srian a fhorfheidhmiú.
Mar shampla:
CheckConstraint(condition=Q(age__gte=18), name="age_gte_18")
ensures the age field is never less than 18.
UniqueConstraintLink to this heading
- class UniqueConstraint(*expressions, fields=(), name, condition=None, deferrable=None, include=None, opclasses=(), nulls_distinct=None, violation_error_code=None, violation_error_message=None)Link to this definition
Creates a uniqueness guarantee in the database, enforced by either a unique constraint or a unique index depending on the options used.
léiritheachLink to this heading
- UniqueConstraint.expressionsLink to this definition
Ligeann argóint seasaimh ``* léirithe ``srianta feidhmiúla uathúla a chruthú ar nathanna agus ar fheidhmeanna bunachar sonraí.
Mar shampla:
UniqueConstraint(Lower("name").desc(), "category", name="unique_lower_name_category")
cruthaíonn sé srian uathúil ar luach íseal an réimse ``ainm ``in ord íslitheach agus an réimse catagóir san ord ardaitheach réamhshocraithe.
Tá na srianta bunachar sonraí céanna ag srianta uathúla feidhmiúla las:attr: Index.Expressions.
``réimsí ``Link to this heading
- UniqueConstraint.fieldsLink to this definition
Liosta d'ainmneacha réimse a shonraíonn an tacar uathúil colún a theastaíonn uait an srian a fhorfheidhmiú.
Mar shampla:
UniqueConstraint(fields=["room", "date"], name="unique_booking")
ensures each room can only be booked once for each date.
coinníollLink to this heading
- UniqueConstraint.conditionLink to this definition
A: aicme: 'Q` réad a shonraíonn an coinníoll a theastaíonn uait an srian a fhorfheidhmiú.
Mar shampla:
UniqueConstraint(fields=["user"], condition=Q(status="DRAFT"), name="unique_draft_user")
cinntíonn sé nach bhfuil ach dréacht amháin ag gach úsáideoir.
Tá na srianta bunachar sonraí céanna ag na coinníollacha seo las:attr: Index.Condition.
iarchurraitheLink to this heading
- UniqueConstraint.deferrableLink to this definition
Socraigh an paraiméadar seo chun srian uathúil in-iarchurtha a chruthú. Is iad na luachanna a nglactar leo ná Deferrable.Ferred nó Deferrable.Immediate. Mar shampla:
from django.db.models import Deferrable, UniqueConstraint
UniqueConstraint(
name="unique_order",
fields=["order"],
deferrable=Deferrable.DEFERRED,
)
De réir réamhshocraithe ní chuirtear srianta ar iarchur. Ní chuirfear srian iarchurtha i bhfeidhm go dtí deireadh an idirbheart. Cuirfear srian láithreach i bhfeidhm díreach tar éis gach ordaithe.
Unique constraints with condition,
include, opclasses, or
expressions may be implemented as unique indexes
rather than unique constraints. In that case, deferrable cannot be set.
``san áireamh ``Link to this heading
- UniqueConstraint.includeLink to this definition
Liosta nó tuple d'ainmneacha na réimsí atá le cur san innéacs uathúil clúdaigh mar cholúin neamh-eochair. Ligeann sé seo scananna innéacs amháin a úsáid le haghaidh ceisteanna nach roghnaíonn ach réimsí san áireamh (:attr: ~UniqueConstraint.include) agus scagadh ach amháin de réir réimsí uathúla (:attr: ~UniqueConstraint.fields).
Mar shampla:
UniqueConstraint(name="unique_booking", fields=["room", "date"], include=["full_name"])
ceadóidh sé scagadh ar seomra agus dáta, ag roghnú full_name freisin, agus sonraí a thógáil ach ón innéacs.
Déantar neamhaird ar srianta uathúla le colúin neamh-eochair do bhunachair sonraí seachas PostgreSQL.
Tá na srianta bunachar sonraí céanna ag colúin neamh-eochair las:attr: Index.include.
opclassesLink to this heading
- UniqueConstraint.opclassesLink to this definition
< https://www.postgresql.org/docs/current/indexes-opclass.html>Ainmneacha na `ranganna oibreora PostgreSQL `_ le húsáid don innéacs uathúil seo. Má theastaíonn rang oibreora saincheaptha uait, ní mór duit ceann a sholáthar do gach réimse san innéacs.
Mar shampla:
UniqueConstraint(
name="unique_username", fields=["username"], opclasses=["varchar_pattern_ops"]
)
cruthaíonn innéacs uathúil ar ainm úsáideora ``ag baint úsáide as ``varchar_pattern_ops.
Déantar neamhaird ar opclasses le haghaidh bunachair sonraí seachas PostgreSQL.
nulls_distintLink to this heading
- UniqueConstraint.nulls_distinctLink to this definition
Ba chóir sraitheanna ina bhfuil luachanna NULL` atá clúdaithe leis an srian uathúil a mheas ar leith óna chéile. Is é an luach réamhshocraithe None a úsáideann réamhshocraithe an bunachar sonraí atá True ar fhormhór na gcúltaca.
Mar shampla:
UniqueConstraint(name="ordering", fields=["ordering"], nulls_distinct=False)
cruthaíonn srian uathúil nach gceadaíonn ach sraith amháin luach NULL a stóráil sa cholún ``ordú ``.
Unique constraints with nulls_distinct are ignored for databases besides
PostgreSQL.
``cód_earráid_shárú `Link to this heading
- UniqueConstraint.violation_error_codeLink to this definition
The error code used when a ValidationError is raised during
model validation.
Defaults to BaseConstraint.violation_error_code, when either
UniqueConstraint.condition is set or UniqueConstraint.fields
is not set.
If UniqueConstraint.fields is set without a
UniqueConstraint.condition, defaults to the
Meta.unique_together error
code when there are multiple fields, and to the Field.unique error
code when there is a single field.
``teachtaireachtaí earráid_shárúcháin ``Link to this heading
- UniqueConstraint.violation_error_messageLink to this definition
The error message used when a ValidationError is raised during
model validation.
Defaults to BaseConstraint.violation_error_message, when either
UniqueConstraint.condition is set or UniqueConstraint.fields
is not set.
If UniqueConstraint.fields is set without a
UniqueConstraint.condition, defaults to the
Meta.unique_together error
message when there are multiple fields, and to the Field.unique error
message when there is a single field.