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

Cruthaíonn sé srian uathúil sa bhunachar sonraí.

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.

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