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=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:
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.
``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ú ``.
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.