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:

Code
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=None, 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:

Code
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:

Code
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:

Code
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.FerredDeferrable.Immediate. Mar shampla:

Code
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:

Code
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:

Code
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:

Code
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ú ``.

Déantar neamhaird ar srianta uathúla le nulls_distingt` do bhunachair sonraí seachas PostgreSQL 15+.

``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.