Tagairt réimse múnlaLink to this heading
Tá na tagairtí API go léir sa doiciméad seo de:class: Field lena n-áirítear na roghanna réimse agus cineálacha réimse a thairgeann Django.
Roghanna réimseLink to this heading
Tá na hargóintí seo a leanas ar fáil do gach cineál réimse. Tá gach ceann roghnach.
NullLink to this heading
- Field.nullLink to this definition
Má tá True, stóráilfidh Django luachanna folmha mar NULL sa bhunachar sonraí. Is é “False” réamhshocraithe.
Avoid using null on string-based fields such as
CharField and TextField. The Django convention is to use an
empty string, not NULL, as the "no data" state for string-based fields. If
a string-based field has null=False, empty strings can still be saved for
"no data". If a string-based field has null=True, that means it has two
possible values for "no data": NULL, and the empty string. In most cases,
it's redundant to have two possible values for "no data". One exception is when
a CharField has both unique=True and blank=True set. In this
situation, null=True is required to avoid unique constraint violations when
saving multiple objects with blank values.
Maidir le réimsí sreanga-bhunaithe agus neamh-shreanga-bhunaithe araon, beidh ort Blank = True a shocrú más mian leat luachanna folmha a cheadú i bhfoirmeacha, mar ní théann an paraiméadar: attr: ~field.null ach ar stóráil bunachar sonraí (féach: attr: ~field.blank).
blankLink to this heading
- Field.blankLink to this definition
Má tá “Fíor”, ceadaítear don réimse a bheith bán. Is é “False” réamhshocraithe.
Tabhair faoi deara go bhfuil sé seo difriúil ná: attr: ~Field.null. :attr: ~Field.null a bhaineann le bunachar sonraí amháin, áit a bhaineann le bailíochtú: attr: ~Field.blank. Má tá Blank=True i réimse, ligfidh bailíochtú foirm luach folamh a iontráil. Má tá ``blank=false ``i réimse, beidh an réimse ag teastáil.
roghnaíLink to this heading
- Field.choicesLink to this definition
Mapáil nó athraitheach san fhormáid a thuairiscítear thíos le húsáid mar roghanna don réimse seo. Má thugtar roghanna, déantar iad a fhorfhe <validating-objects>idhmiú trí:ref: `bailíochtú samhail `agus is bosca roghnaithe is é an giuirléid fhoirme réamhshocraithe leis na roghanna seo in ionad an réimse téacs caighdeánach.
Má thugtar mapáil, is é an príomhghné an luach iarbhír atá le socrú ar an tsamhail, agus is é an dara gné an t-ainm inléite don duine. Mar shampla:
YEAR_IN_SCHOOL_CHOICES = {
"FR": "Freshman",
"SO": "Sophomore",
"JR": "Junior",
"SR": "Senior",
"GR": "Graduate",
}
Is féidir leat: téarma a rith freisin: seicheamh ina bhfuil athrá de dhá mhír díreach (m.sh. [(A1, B1), (A2, B2),...]). Is é an chéad eilimint i ngach tuple an luach iarbhír atá le socrú ar an tsamhail, agus is é an dara gné an t-ainm inléite le duine. Mar shampla:
YEAR_IN_SCHOOL_CHOICES = [
("FR", "Freshman"),
("SO", "Sophomore"),
("JR", "Junior"),
("SR", "Senior"),
("GR", "Graduate"),
]
Is féidir “roghanna” a shainiú freisin mar ghlaoiteoir nach bhfuil ag súil le haon argóintí agus nach bhfilleann aon cheann de na formáidí a thuairiscítear thuas. Mar shampla:
def get_currencies():
return {i: i for i in settings.CURRENCIES}
class Expense(models.Model):
amount = models.DecimalField(max_digits=10, decimal_places=2)
currency = models.CharField(max_length=3, choices=get_currencies)
Is féidir go mbeadh sé áisiúil go háirithe le haghaidh “roghanna” a rith nuair is iad, mar shampla, na roghanna seo a leanas:
toradh oibríochtaí I/O-cheangailte (a d'fhéadfaí a choscáil), mar shampla tábla a cheistiú sa bhunachar sonraí céanna nó sa bhunachar sonraí seachtrach, nó rochtain a fháil ar na roghanna ó chomhad statach.
liosta atá cobhsaí den chuid is mó ach a d'fhéadfadh athrú ó am go ham nó ó thionscadal go tionscadal. Is iad samplaí sa chatagóir seo aipeanna tríú páirtí a úsáid a sholáthraíonn fardal aitheanta luachanna, mar shampla airgeadraí, tíortha, teangacha, criosanna ama, srl.
Go ginearálta, is fearr roghanna a shainiú taobh istigh de rang samhail, agus tairiseach ainmnithe go cuí a shainiú do gach luach:
from django.db import models
class Student(models.Model):
FRESHMAN = "FR"
SOPHOMORE = "SO"
JUNIOR = "JR"
SENIOR = "SR"
GRADUATE = "GR"
YEAR_IN_SCHOOL_CHOICES = {
FRESHMAN: "Freshman",
SOPHOMORE: "Sophomore",
JUNIOR: "Junior",
SENIOR: "Senior",
GRADUATE: "Graduate",
}
year_in_school = models.CharField(
max_length=2,
choices=YEAR_IN_SCHOOL_CHOICES,
default=FRESHMAN,
)
def is_upperclass(self):
return self.year_in_school in {self.JUNIOR, self.SENIOR}
Cé gur féidir leat liosta roghanna a shainiú lasmuigh de rang samhail agus tagairt a dhéanamh dó, coinníonn na roghanna agus ainmneacha do gach rogha laistigh den rang samhail an fhaisnéis sin go léir leis an rang a úsáideann í, agus cabhraíonn sé leis na roghanna a thagairt (m.sh., oibreoidh Student.sophomore áit ar bith a allmhairigh an tsamhail Student).
Is féidir leat na roghanna atá ar fáil a bhailiú i ngrúpaí ainmnithe is féidir iad a úsáid chun críocha eagraíochtúla:
MEDIA_CHOICES = {
"Audio": {
"vinyl": "Vinyl",
"cd": "CD",
},
"Video": {
"vhs": "VHS Tape",
"dvd": "DVD",
},
"unknown": "Unknown",
}
Is é eochair na mapála an t-ainm atá le cur i bhfeidhm ar an ngrúpa agus is é an luach na roghanna taobh istigh den ghrúpa sin, comhdhéanta de luach an réimse agus ainm inléite don duine le haghaidh rogha. Is féidir roghanna grúpáilte a chomhcheangal le roghanna neamhghrúpáilte laistigh de mhapáil amháin (mar shampla an rogha ``"neamhfhiosna"` sa sampla seo).
Is féidir leat seicheamh a úsáid freisin, m.sh. liosta de 2-tuples:
MEDIA_CHOICES = [
(
"Audio",
(
("vinyl", "Vinyl"),
("cd", "CD"),
),
),
(
"Video",
(
("vhs", "VHS Tape"),
("dvd", "DVD"),
),
),
("unknown", "Unknown"),
]
Tabhair faoi deara gur féidir le roghanna a bheith ina réad seicheamh ar bith - ní gá gur liosta nó tuple. Ligeann sé seo duit roghanna a thógáil go dinim Ach má aimsíonn tú féin ag hacáil: attr: ~field.choices a bheith dinimiciúil, is dócha go mbeidh tú níos fearr tábla bunachar sonraí ceart a úsáid le a:class: ForeignKey. :attr: Tá ~Field.choices i gceist le haghaidh sonraí statacha nach n-athraíonn mórán, más riamh.
I gcás gach réimse samhail a bhfuil: attr: ~ field.choices tacar aige, normalóidh Django na roghanna le liosta de 2-tuples agus cuirfidh sé modh chun an t-ainm inléite don duine a aisghabháil do luach reatha an réimse. Féach: Meth: ~django.db.models.model.get_foo_display sa cháipéisíocht API bunachar sonraí.
Unless:attr: Blank = Fal <Field.blank>se `socraítear ar an réimse in éineacht le a:attr: `~field.default ansin déanfar lipéad ina bhfuil ” ---------" a rinneadh leis an mbosca roghnaithe. Chun an t-iompar seo a shárú, cuir tuple le roghnaí ina bhfuil None; m.sh. (Níl aon, 'Do String Le Taispeán'). De rogha air sin, is féidir leat teaghrán folamh a úsáid in ionad None nuair a bhíonn ciall leis seo - mar shampla ar a:class: ~django.db.models.charfield.
Cineálacha áireamhLink to this heading
Ina theannta sin, soláthraíonn Django cineálacha áireamh ar féidir leat a fho-aicmiú chun roghanna a shainiú ar bhealach gonta:
from django.utils.translation import gettext_lazy as _
class Student(models.Model):
class YearInSchool(models.TextChoices):
FRESHMAN = "FR", _("Freshman")
SOPHOMORE = "SO", _("Sophomore")
JUNIOR = "JR", _("Junior")
SENIOR = "SR", _("Senior")
GRADUATE = "GR", _("Graduate")
year_in_school = models.CharField(
max_length=2,
choices=YearInSchool,
default=YearInSchool.FRESHMAN,
)
def is_upperclass(self):
return self.year_in_school in {
self.YearInSchool.JUNIOR,
self.YearInSchool.SENIOR,
}
Oibríonn siad seo cosúil le:mod: enum ó leabharlann caighdeánach Python, ach le roinnt modhnuithe:
Is cúpla argóintí iad luachanna ball Enum le húsáid agus an cineál sonraí coincréite á thógáil. Tacaíonn Django le luach sreangán breise a chur le deireadh an tuple seo le húsáid mar an t-ainm inléite don duine, nó “lipéad”. Is féidir leis an lipéad` a bheith ina shreang leisciúil inaistrithe. Dá bhrí sin, i bhformhór na gcásanna, is é an luach ball ná
(luach, lipéad)2-tuple. Féach thíos le haghaidh: ref: sampla de roghanna fo-aicmiúcháin <field-choices-enum-subclassing>`ag baint úsáide as cineál sonraí níos casta. <field-choices-enum-auto-label>Mura gcuirtear tuple ar fáil, nó mura bhfuil teaghrán (leisciúil) an mír deireanach, is é an `lipéad`: ref: `ghintear go huathoibríoch `ó ainm an chomhalta.Cuirtear maoin .label` leis na luachanna, chun an t-ainm inléite don duine a thabhairt ar ais.
Cuirtear roinnt airíonna saincheaptha leis na haicmí áireamh -- .choices`, .labels`, .values`, agus .ainmne` - chun go mbeidh sé níos éasca rochtain a fháil ar liostaí de na codanna ar leithligh sin den áireamh.
The use of
enum.unique()is enforced to ensure that values cannot be defined multiple times. This is unlikely to be expected in choices for a field.
Tabhair faoi deara go n-oibríonn úsáid YearinSchool.Senior, YearinSchool ['SENIOR'] `, nó ``YearinSchool ('SR') ``chun rochtain a fháil nó cuardach ar na baill mar a bhíothas ag súil leis, mar a dhéanann na hairíonna `.name` agus .value ar na baill.
Mura gá duit na hainmneacha inléite don duine a aistriú, is féidir leat iad a thabhairt chun cinn ó ainm an chomhalta (spásanna a chur in ionad béim agus cás teidil a úsáid):
>>> class Vehicle(models.TextChoices):
... CAR = "C"
... TRUCK = "T"
... JET_SKI = "J"
...
>>> Vehicle.JET_SKI.label
'Jet Ski'
Ós rud é go bhfuil an cás ina gcaithfidh na luachanna enum a bheith ina shláimhreacha thar a bheith coitianta, soláthraíonn Django aicme ``IntegerChoices`. Mar shampla:
class Card(models.Model):
class Suit(models.IntegerChoices):
DIAMOND = 1
SPADE = 2
HEART = 3
CLUB = 4
suit = models.IntegerField(choices=Suit)
Is féidir freisin úsáid a bhaint as an Enum Functional API leis an rabhadh go ngintear lipéid go huathoibr< https://docs.python.org/3/howto/enum.html#functional-api> íoch mar a leagtar béim thuas:
>>> MedalType = models.TextChoices("MedalType", "GOLD SILVER BRONZE")
>>> MedalType.choices
[('GOLD', 'Gold'), ('SILVER', 'Silver'), ('BRONZE', 'Bronze')]
>>> Place = models.IntegerChoices("Place", "FIRST SECOND THIRD")
>>> Place.choices
[(1, 'First'), (2, 'Second'), (3, 'Third')]
Má theastaíonn tacaíocht uait do chineál sonraí coincréite seachas int nó str, is féidir leat fo-aicme ``Roghanna ``agus an cineál sonraí coincréite riachtanach, e.g.:class: ~datetime.date le húsáid le:class: ~django.db.models.datefield:
class MoonLandings(datetime.date, models.Choices):
APOLLO_11 = 1969, 7, 20, "Apollo 11 (Eagle)"
APOLLO_12 = 1969, 11, 19, "Apollo 12 (Intrepid)"
APOLLO_14 = 1971, 2, 5, "Apollo 14 (Antares)"
APOLLO_15 = 1971, 7, 30, "Apollo 15 (Falcon)"
APOLLO_16 = 1972, 4, 21, "Apollo 16 (Orion)"
APOLLO_17 = 1972, 12, 11, "Apollo 17 (Challenger)"
Tá roinnt rabhaidh breise le bheith ar an eolas faoi:
<field-choices-named-groups>Ní thacaíonn cineálacha áirim:ref: `grúpaí ainmnithe `.
Toisc go n-éilíonn áireamh le cineál sonraí coincréite go léir an cineál a mheaitseáil, ní féidir an lipéad: ref: blank <field-choices-blank-label>`a bhaint amach trí bhall a chruthú le luach ``None`. Ina áit sin, socraigh an tréith
__empty__ar an rang:class Answer(models.IntegerChoices): NO = 0, _("No") YES = 1, _("Yes") __empty__ = _("(Unknown)")
db_columnLink to this heading
- Field.db_columnLink to this definition
Ainm an cholún bunachar sonraí le húsáid don réimse seo. Mura dtugtar é seo, úsáidfidh Django ainm an réimse.
Más focal fhorchoimeádaithe SQL é ainm do cholún bunachar sonraí, nó má tá carachtair nach gceadaítear in ainmneacha athróg Python - go háirithe, an bhreith - tá sin ceart go leor. Luann Django ainmneacha colún agus tábla taobh thiar de na radhairc.
``db_comment ``Link to this heading
- Field.db_commentLink to this definition
An trácht ar an gcolún bunachar sonraí le húsáid don réimse seo. Tá sé úsáideach chun réimsí a dhoiciméadú do dhaoine aonair a bhfuil rochtain dhíreach acu ar bhunachar sonraí nach bhfuil ag féachaint ar do chód Django. Mar shampla:
pub_date = models.DateTimeField(
db_comment="Date and time when the article was published",
)
db_defaultLink to this heading
- Field.db_defaultLink to this definition
An luach réamhshocraithe ríofa bunachar sonraí don réimse seo. Is féidir leis seo a bheith ina luach litriúil nó ina fheidhm bunachar sonraí, mar shampla:class: ~Django.db.Models.Functions.Now:
created = models.DateTimeField(db_default=Now())
Is féidir nathanna níos casta a úsáid, chomh fada agus a dhéantar iad ó litríochtaí agus feidhmeanna bunachar sonraí:
month_due = models.DateField(
db_default=TruncMonth(
Now() + timedelta(days=90),
output_field=models.DateField(),
)
)
Ní féidir le réamhshocraithe bunachar sonraí réimsí nó samhlacha eile tagairt a dhéanamh. Mar shampla, tá sé seo neamhbhailí:
end = models.IntegerField(db_default=F("start") + 50)
Má tá db_default` agus:attr: Field.default araon socraithe, tabharfaidh default tosaíocht agus cásanna á chruthú i gcód Python. Socrófar db_default fós ag leibhéal an bhunachar sonraí agus úsáidfear é agus sraitheanna á chur isteach lasmuigh den ORM nó nuair a chuirtear réimse nua i imirce.
Má tá db_default` i réimse gan tacar default agus nach sanntar aon luach don réimse, cuirtear réad databasedefault ar ais mar luach an réimse ar chásanna samhail neamhshábháilte. Is é an bunachar sonraí a chinneann an luach iarbhír don réimse nuair a shábháiltear an tsamhail samhail.
db_indexLink to this heading
- Field.db_indexLink to this definition
Má tá True, cruthófar innéacs bunachar sonraí don réimse seo.
db_tablespaceLink to this heading
- Field.db_tablespaceLink to this definition
Ainm an:doc: database tablespace le húsáid le haghaidh innéacs an réimse seo </topics/db/tablespaces>, má tá an réimse seo innéacsaithe. Is é an réamhshocrú an socrú tionscadla:setting: DEFAULT_INDEX_TABLESPACE, má tá sé socraithe, nó an:attr: ~OPTIONS.DB_TABLESPACE den tsamhail, más ann. Mura dtacaíonn an cúltaca le spásanna tábla le haghaidh innéacsanna, déantar neamhaird ar an rogha seo.
réamhshocraitheLink to this heading
- Field.defaultLink to this definition
An luach réamhshocraithe don réimse. Is féidir leis seo a bheith ina luach nó ina réad inghlaonta. Má tá sé inghlaoch, glaofar air gach uair a chruthaítear réad nua.
Ní féidir leis an réamhshocrú a bheith ina réad inathraithe (sampla samhail, liost, set`, srl.), Mar a úsáidfeadh tagairt don sampla céanna den réad sin mar an luach réamhshocraithe i ngach cás samhail nua. Ina áit sin, fillte an réamhshocrú atá ag teastáil i nglaoch inghlaonta Mar shampla, más mian leat réamhshocraithe dict a shonrú fao:class: ~django.db.models.jsonField, bain úsáid as feidhm:
def contact_default():
return {"email": "to1@example.com"}
contact_info = JSONField("ContactInfo", default=contact_default)
<migration-serializing>Ní féidir lambdas a úsáid le haghaidh roghanna réimse cosúil le default toisc nach féidir leo a bheith: ref: `sraith ag imirce `. Féach an doiciméadú sin le haghaidh rabhaidh eile.
Maidir le réimsí cosúil:class: ForeignKey a léarscáil chuig cásanna samhail, ba chóir go mbeadh réamhshocraithe mar luach an réimse a thagraíonn siad (pk unless:attr: ~ForeignKey.to_field socraítear) in ionad cásanna samhail.
Úsáidtear an luach réamhshocraithe nuair a chruthaítear cásanna samhail nua agus nach gcuirtear luach ar fáil don réimse. Nuair is príomh-eochair é an réimse, úsáidtear an réamhshocrú freisin nuair a shocraítear an réimse go None.
Is féidir an luach réamhshocraithe a shocrú freisin ag leibhéal an bhunachar sonraí le: attr: Field.db_default.
EagarthóireachLink to this heading
- Field.editableLink to this definition
If False, the field will not be displayed in the admin or any other
ModelForm. It will also be skipped during model
validation. Default is True.
teachtaireachtaí earráidLink to this heading
- Field.error_messagesLink to this definition
Ligeann an argóint error_messages duit na teachtaireachtaí réamhshocraithe a ardóidh an réimse a shárú. Pas isteach i bhfoclóir le heochracha a mheaitseálann leis na teachtaireachtaí earráide is mian leat a shárú.
I measc na heochracha teachtaireachta earráide tá null, blank`, invalid`, invalid_choice`, unique, agus unique_for_date. Sonraítear eochracha teachtaireachta earráide breise do gach réimse sa chuid Cineálacha réimsea thíos.
Is minic nach n-iomadaíonn na teachtaireachtaí earráide seo chuig foirmeacha. Féach:ref: `breithnitheachtaireachtaí maidir le samhail-earráidí teachtaireachtaí `.
téacs_cabhrachLink to this heading
- Field.help_textLink to this definition
Téacs breise “cabhrach” le taispeáint leis an ngiuirléid fhoirme. Tá sé úsáideach le haghaidh doiciméadú fiú mura n-úsáidtear do réimse ar fhoirm.
Tabhair faoi deara nach bhfuil an luach seo* ag éalú HTML i bhfoirmeacha a ghintear go huathoibríoch. Ligeann sé seo duit HTML a áireamh in:attr: ~field.help_text más mian leat. Mar shampla:
help_text = "Please use the following format: <em>YYYY-MM-DD</em>."
Nó is féidir leat gnáthtéacs agus: func: django.utils.html.escape a úsáid chun éalú aon charachtair speisialta HTML. Cinntigh go n-éalaíonn tú aon téacs cabhrach a d'fhéadfadh teacht ó úsáideoirí neamhiontaofa chun ionsaí scripteála tras-láithreáin a sheachaint.
eochair_phríomhLink to this heading
- Field.primary_keyLink to this definition
Má tá True, is é an réimse seo an príomh-eochair don tsamhail.
If you don't specify primary_key=True for any field in your model and have
not defined a composite primary key, Django will automatically add a field to
hold the primary key. So, you don't need to set primary_key=True on any of
your fields unless you want to override the default primary-key behavior. The
type of auto-created primary key fields can be specified per app in
AppConfig.default_auto_field
or globally in the DEFAULT_AUTO_FIELD setting. For more, see
Príomhréimsí uathoibríoch.
primary_key=True implies null=False and
unique=True. Only one field per model can set
primary_key=True. Composite primary keys must be defined using
CompositePrimaryKey instead of setting this flag to True for all
fields to maintain this invariant.
Tá an príomhréimse léite amháin. Má athraíonn tú luach an phríomh-eochair ar réad atá ann cheana agus ansin é a shábháil, cruthófar réad nua in éineacht leis an seancheann.
<django.db.models.Model.delete>Socraítear an príomhréimse go None nuai:meth: ``scriosadh `réad.
uathLink to this heading
- Field.uniqueLink to this definition
Má tá “Fíor”, caithfidh an réimse seo a bheith uathúil ar fud an tábla.
Cuirtear é seo i bhfeidhm ag leibhéal an bhunachar sonraí agus trí bhailíochtú samhail Má dhéanann tú iarracht samhail a shábháil le luach dúbailte i réimse a:attr: ~Field.Unique, ardófar a:exc: Django.db.IntegrityError ag an modh samhail 's:meth: ~django.db.models.model.save.
Tá an rogha seo bailí ar gach cineál réimse seachas: class: ManyTomanyField agus:class: OneToOneField.
Tabhair faoi deara go bhfuil unique True, ní gá duit:attr: ~field.db_index a shonrú, mar tugann unique le tuiscint go gcruthófar innéacs.
``uath_dáta`Link to this heading
- Field.unique_for_dateLink to this definition
Socraigh é seo ar ainm a: class: DateField nó:class: DateTimeField chun a cheangal go mbeidh an réimse seo uathúil do luach an réimse dáta.
Mar shampla, má tá réimse title agat a bhfuil unique_for_date="pub_date” ``, ansin ní cheadódh Django dhá thaifead a iontráil leis an ``title agus pub_date céanna.
Tabhair faoi deara má shocraíonn tú é seo chun díriú ar a: class: DateTimeField, ní dhéanfar ach an chuid dáta den réimse a mheas. <default-current-time-zone>Thairis sin, nuair a bhíonn: socrú: USE_TZ True, déanfar an seiceáil san: ref: `crios ama reatha `ag an am a shábháiltear an réad.
This is enforced by Model.validate_unique() during model validation
but not at the database level. If any unique_for_date constraint
involves fields that are not part of a ModelForm (for
example, if one of the fields is listed in exclude or has
editable=False), Model.validate_unique() will
skip validation for that particular constraint.
uach_ar feadh míosaLink to this heading
- Field.unique_for_monthLink to this definition
Cosúil le: attr: ~field.unique_for_date, ach éilíonn sé go mbeadh an réimse uathúil maidir leis an mí.
Unique_doir_blianaLink to this heading
- Field.unique_for_yearLink to this definition
Cosúil le: attr: ~Field.Unique_for_Date agus:attr: ~Field.Unique_for_Month.
ainm_verboseLink to this heading
- Field.verbose_nameLink to this definition
Ainm inléite don duine don réimse. Mura dtugtar an t-ainm fhíorúil, cruthóidh Django é go huathoibríoch ag baint úsáide as ainm tréith an réimse, ag athrú béim go spásanna. <verbose-field-names>Féach:ref: `Ainmneacha réimse verbose `.
``bailíochtóirí ``Link to this heading
- Field.validatorsLink to this definition
Liosta de na bailíochtóirí le reáchtáil don réimse seo. Féach na:doc: doiciméadú bailíochtóir le haghaidh tuilleadh eolais. </ref/validators>
Cineálacha réimseLink to this heading
AutofieldLink to this heading
- class AutoField(**options)Link to this definition
An:class: Integerfield a mhéadaíonn go huathoibríoch de réir ID atá ar fáil. De ghnáth ní bheidh ort é seo a úsáid go díreach; cuirfear príomhréimse go huathoibríoch le do mhúnla mura sonraíonn tú a mhalairt. Féach: tagairt: `uathoibrí-phríomh-eochair-réimsí `.
BigAutofieldLink to this heading
- class BigAutoField(**options)Link to this definition
Sláimhir 64-giotán, cosúil leis an:class: Autofield ach amháin go bhfuil sé ráthaithe go n-oirfidh sé uimhreacha ó 1 go 9223372036854775807`.
BigIntegerfieldLink to this heading
- class BigIntegerField(**options)Link to this definition
Sláimhir 64-giotán, cosúil leis an:class: IntegerField ach amháin go bhfuil sé ráthaithe go n-oirfidh sé uimhreacha ó -9223372036854775808` go ``9223372036854775807. Is é a: class: ~django.forms.numberInput an giuirléid foirme réamhshocraithe don réimse seo.
BinaryfieldLink to this heading
- class BinaryField(max_length=None, **options)Link to this definition
Réimse chun sonraí dénártha amh a stóráil. Is féidir é a shannt:class: bytes, :class: bytearray, nó:class: memoryview.
De réir réamhshocraithe, socraíonn BinaryField: attr: ~Field.editable go False, sa chás sin ní féidir é a áireamh in a:class: ~Django.Forms.ModelForm.
- BinaryField.max_lengthLink to this definition
Roghnach. An fad uasta (i mbeátaí) an réimse. Cuirtear an fad uasta i bhailíochtú Django i bhfeidhm ag baint úsáidea:class: ~django.core.validators.maxLengthValidator.
BooleanfieldLink to this heading
- class BooleanField(**options)Link to this definition
Réimse fíor-bhréagach.
<Field.null>Is é an giuirléid foirme réamhshocraithe don réimse seo ná: class: ~django.forms.checkboxInput, nó:class: ~django.forms.nullBooleanSelect if: attr: `Null=True `.
Is é luach réamhshocraithe BooleanField None nuair nach sainmhínítear: attr: Field.default.
CompositePrimaryKeyLink to this heading
- class CompositePrimaryKey(*field_names, **options)Link to this definition
A virtual field used for defining a composite primary key.
This field must be defined as the model's pk attribute. If present, Django
will create the underlying model table with a composite primary key.
The *field_names argument is a list of positional field names that compose
the primary key.
See Composite primary keys for more details.
CharfieldLink to this heading
- class CharField(max_length=None, **options)Link to this definition
Réimse teaghráin, le haghaidh teaghráin beag go mórmhéide.
Le haghaidh méideanna móra téacs, bain úsáid as: class: ~django.db.models.textfield.
Is é an giuirléid foirme réamhshocraithe don réimse seo a:class: ~django.forms.textInput.
CharField has the following extra arguments:
- CharField.max_lengthLink to this definition
The maximum length (in characters) of the field. The
max_lengthis enforced at the database level and in Django's validation usingMaxLengthValidator. It's required for all database backends included with Django except PostgreSQL and SQLite, which supports unlimitedVARCHARcolumns.
- CharField.db_collationLink to this definition
Roghnach. Ainm bailithe bunachar sonraí an réimse.
Dáta réimseLink to this heading
- class DateField(auto_now=False, auto_now_add=False, **options)Link to this definition
Dáta, a léirítear i Python le sampla datetime.date. Tá cúpla argóint roghnach breise aige:
- DateField.auto_nowLink to this definition
Socraigh an réimse go huathoibríoch anois gach uair a shábháiltear an réad. Úsáideach le haghaidh stampaí ama “modhnaithe deireanach”. Tabhair faoi deara go n-úsáidtear an dáta reatha i gcónaí*; ní luach réamhshocraithe é amháin ar féidir leat a shárú.
<django.db.models.Model.save>Ní dhéantar an réimse a nuashonrú go huathoibríoch ach nuair a ghlaoitear: meth: `Model.save () `. Ní nuashonraítear an réim <django.db.models.query.QuerySet.update>se agus nuashonruithe á dhéanamh ar réimsí eile ar bhealaí eile mar: meth: `QuerySet.update () `, cé gur féidir leat luach saincheaptha don réimse a shonrú i nuashonrú mar sin.
- DateField.auto_now_addLink to this definition
Socraigh an réimse go huathoibríoch go dtí anois nuair a chruthaítear an réad Úsáideach chun stampaí ama a chruthú. Tabhair faoi deara go n-úsáidtear an dáta reatha i gcónaí*; ní luach réamhshocraithe é amháin ar féidir leat a shárú. Mar sin fiú má shocraíonn tú luach don réimse seo agus an réad á chruthú agat, déanfar neamhaird air. Más mian leat a bheith in ann an réimse seo a mhodhnú, socraigh an méid seo a leanas in ionad
auto_now_add=true:Le haghaidh: aicme: dátefield:
default=date.today- ó:meth: datetime.date.todayLe haghaidh: aicme: DateTimeField:
default=timezone.now- ó:func: django.utils.timezone.now
Is é a: class: ~django.forms.DateInput an giuirléid foirme réamhshocraithe don réimse seo. Cuireann an riarachán féilire JavaScript leis, agus aicearra do “Inniu”. Cuimsíonn sé eochair teachtaireachta earráide breise invalid_date.
Tá na roghanna auto_now_add, auto_now`, agus default go comhpháirteach. Beidh earráid mar thoradh ar aon teaglaim de na roghanna seo.
DataTimeFieldLink to this heading
- class DateTimeField(auto_now=False, auto_now_add=False, **options)Link to this definition
Dáta agus am, a léirítear i Python le sampla datetime.datetime. Glacann sé na hargóintí breise céanna amha:class: DateField.
Is é an giuirléid foirme réamhshocraithe don réimse seo ná aonair: class: ~django.forms.DateTimeInput. Úsáideann an riarachán dhá ghuirléidí leithligh: class: ~django.forms.textInput le aicearraí JavaScript.
DecimalfieldLink to this heading
- class DecimalField(max_digits=None, decimal_places=None, **options)Link to this definition
Uimhir deachúil cruinneas seasta, arna léiriú i Python ag a: class: ~decimal.decimal sampla. Bailíonn sé an t-ionchur ag baint úsáid:class: ~django.core.validators.decimalValidator.
An bhfuil na hargóintí** riachtana** seo a leanas:
- DecimalField.max_digitsLink to this definition
An líon uasta na ndigit a cheadaítear san uimhir. Tabhair faoi deara go gcaithfidh an uimhir seo a bheith níos mó ná nó cothrom le
deach_places.
- DecimalField.decimal_placesLink to this definition
Líon na n-áiteanna deachúil le stóráil leis an uimhir.
Mar shampla, chun uimhreacha a stóráil suas go dtí 999.99 le réiteach de 2 áit deachúil, bheadh úsáid agat:
models.DecimalField(..., max_digits=5, decimal_places=2)
Agus uimhreacha a stóráil suas le thart ar aon billiún le réiteach de 10 n-áit deachúil:
models.DecimalField(..., max_digits=19, decimal_places=10)
Is é an giuirléid foirme réamhshocraithe don réimse seo a:class: ~django.forms.numberInput nuai:attr: ~django.forms.field.localize False nó:class: ~django.forms.textInput ar shlí eile.
Réimse tréimhseachLink to this heading
- class DurationField(**options)Link to this definition
Réimse chun tréimhsí ama a stóráil - múnlaithe i Python ag: class: ~python:datetime.timedelta. Nuair a úsáidtear é ar PostgreSQL, is é “interval” an cineál sonraí a úsáidtear agus ar Oracle is é an cineál sonraí ``INTERVAL DAY (9) GO SECOND (6) ``. Seachas sin úsáidtear “bigint” de mhicreasoicind.
Réimse ríomhphostLink to this heading
- class EmailField(max_length=254, **options)Link to this definition
A: aicme: Charfield a sheiceálann gur seoladh ríomhphoist bailí é an luach ag baint úsáid:class: ~django.core.validators.emailValidator.
FileFieldLink to this heading
- class FileField(upload_to='', storage=None, max_length=100, **options)Link to this definition
Réimse uaslódála comhad.
Tá na hargóintí roghnacha seo a leanas ann
- FileField.upload_toLink to this definition
Soláthraíonn an tréith seo bealach chun an eolaire uaslódála agus ainm an chomhaid a shocrú, agus is féidir é a shocrú ar dhá bhealach. <django.core.files.storage.Storage.save>Sa dá chás, cuirtear an luach ar aghaidh chuig an modh:: `Storage.save () `.
Má shonraíonn tú luach teaghrán nó a:class: ~pathlib.path, féadfaidh formáidiú: func: ~time.strftime a bheith ann, a chuirfear dát/am an uaslódála comhad in ionad (ionas nach líonfaidh comhaid uaslódáilte an eolaire tugtha suas). Mar shampla:
class MyModel(models.Model): # file will be uploaded to MEDIA_ROOT/uploads upload = models.FileField(upload_to="uploads/") # or... # file will be saved to MEDIA_ROOT/uploads/2015/01/30 upload = models.FileField(upload_to="uploads/%Y/%m/%d/")Má tá an réamhshocraithe:class: ~django.core.files.storage.filesystemStorage á úsáid agat, cuirfear an luach teaghrán i gceangal le do chonair:: MEDIA_ROOT chun an suíomh a fhoirmiú ar an gcóras comhaid áitiúil ina stóráilfear comhaid uaslódáilte. Má tá stóráil dhifriúil á úsáid agat, seiceáil doiciméadú an stórála sin chun a fheiceáil conas a láimhseálann sé ``upload_`.
D'fhéadfadh go mbeadh
upload_toinghlaonta freisin, mar shampla feidhm. Glaofar air seo chun an cosán uaslódála a fháil, lena n-áirítear ainm an chomhaid. Caithfidh an glaoch seo glacadh le dhá argóint agus cosán i stíl Unix a thabhairt ar ais (le slashes ar aghaidh) le dul chuig an gcóras stórála. Is iad an dá argóint:Argóint
Cur síos
InstanceSampla den tsamhail ina bhfuil an FileField` sainmhínithe. Níos sonrach, is é seo an cás áirithe ina bhfuil an comhad reatha á gceangal.
I bhformhór na gcásanna, ní shábháiltear an réad seo ar an mbunachar sonraí go fóill, mar sin má úsáideann sé an réamhshocraithe ``Autofield`, b'fhéidir nach mbeidh luach aige fós dá phríomhréimse.
``ainm comhad ``
An t-ainm comhaid a tugadh don chomhad ar dtús. Féadfar nó nach féidir é seo a chur san áireamh agus an cosán ceann scríbe deiridh á chinneadh.
Mar shampla:
def user_directory_path(instance, filename): # file will be uploaded to MEDIA_ROOT/user_<id>/<filename> return "user_{0}/{1}".format(instance.user.id, filename) class MyModel(models.Model): upload = models.FileField(upload_to=user_directory_path)
- FileField.storageLink to this definition
Rud stórála, nó inghlaoch a thugann réad stórála ar ais. Láimhseálann sé seo stóráil agus aisghabháil do chuid comhad. Féach: doc: /topics/files le haghaidh sonraí maidir le conas an réad seo a sholáthar.
Is é an giuirléid foirme réamhshocraithe don réimse seo a:class: ~django.forms.clearaableFileInput.
Tógann sé cúpla céim ag baint úsáide as a: class: FileField nó an:class: ImageField (féach thíos) i samhail:
I do chomhad socruithe, beidh ort :setting:'MEDIA_ROOT' a shainmhíniú mar an cosán iomlán chuig eolaire inar mhaith leat Django chun comhaid uaslódáilte a stóráil. (Le haghaidh feidhmíochta, ní stóráiltear na comhaid seo sa bhunachar sonraí.) Sainmhínigh :setting:'MEDIA_URL' mar bhun-URL poiblí an eolaire sin. Cinntigh go bhfuil an chomhadlann seo inscríofa ag cuntas úsáideora an fhreastalaí gréasáin.
Cuir an:class: FileField nó:class: ImageField le do mhúnla, ag sainmhíniú an roghna:attr: ~filefield.upload_to chun fo-eolaire de:setting: MEDIA_ROOT a shonrú le húsáid le haghaidh comhaid uaslódáilte.
Is é gach rud a stóráilfear i do bhunachar sonraí ná cosán chuig an gcomhad (i gcoibhneas le:socrú: MEDIA_ROOT). Is dócha go mbeidh tú ag iarraidh an tréith áisiúlach:attr: ~django.db.models.fields.files.fieldfile.url a sholáthraíonn Django a úsáid. Mar shampla, má thugtar
mug_shotar do: class: ImageField, is féidir leat an cosán iomlán chuig d'íomhá a fháil i dteimpléad le{{object.mug_shot.url}}.
Mar shampla, abair go bhfuil do: setting: MEDIA_ROOT socraithe go '/home/media', agus:attr: ~filefield.upload_to socraithe go 'Photos/%y/%M/%D'. Is é an '%Y/%M/%D' cuid de:attr: ~filefield.upload_to í:func: ~time.strftime formáidiú; '%Y' an bhliain ceithre dhigit, %m' an mhí dhá dhigit agus '%d' an lá dhá dhigit. Má uaslódálann tú comhad ar 15 Eanáir, 2007, sábhálfar é san eolaire /home/media/photos/2007/01/15.
Más mian leat ainm comhaid ar dhiosca an chomhaid uaslódáilte, nó méid an chomhaid a aisghabháil, d'fhéadfá na tréithe: attr: ~django.core.files.name agus:attr: ~django.core.file.size a úsáid faoi seach; le haghaidh tuilleadh faisnéise ar na tréithe agus na modhanna atá ar fáil, féach rang:class: ~django.core.files.file agus an treoir ábhair: doc: /topics/files.
Is féidir URL coibhneasta an chomhaid uaslódáilte a fháil trí thréith: attr: ~django.db.models.fields.files.fieldfile.url. Go hinmheánach, glaonn sé seo modh:meth: ~django.core.files.storage.url an aicme bunlying:class: ~django.core.files.storage.storage.
Tabhair faoi deara, gach uair a dhéileálann tú le comhaid uaslódáilte, ba chóir duit aird mhór a thabhairt ar an áit a bhfuil tú ag uaslódáil iad agus cén cineál comhaid iad, chun poill slándála a sheachaint * Bailíochnaigh gach comhad uaslódáil* ionas go mbeidh tú cinnte gurb iad na comhaid mar a cheapann tú go bhfuil siad. Mar shampla, má ligeann tú do dall do dhuine comhaid a uaslódáil, gan bailíochtú, chuig eolaire atá laistigh de fhréamh doiciméad do fhreastalaí gréasáin, ansin d'fhéadfadh duine éigin script CGI nó PHP a uaslódáil agus an script sin a fhorghníomhú trí chuairt a thabhairt ar a URL ar do shuíomh. Ná lig sin.
Tabhair faoi deara freisin gur féidir le fiú comhad HTML uaslódáilte, ós rud é gur féidir leis an mbrabhsálaí é a fhorghníomhú (cé nach leis an bhfreastalaí), bagairtí slándála a bheith comhionann le hionsaithe XSS nó CSRF.
FileField instances are created in your database as varchar
columns with a default max length of 100 characters. As with other fields, you
can change the maximum length using the max_length argument.
FileField agus FieldfileLink to this heading
- class FieldFileLink to this definition
Nuair a bhíonn rochtain agat ar a:class: ~django.db.models.filefield ar mhúnla, tugtar sampla duit:class: FieldFile mar sheachfhreastalaí chun rochtain a fháil ar an gcomhad bunúsach.
<django.core.files.storage.Storage.open>Scáthaíonn API de:class: Fieldfile an réad atá f:class: ~django.core.files.file, le príomhdhifríocht amháin: Ní gá go bhfuil an réad atá fillte ag an rang timpeall réad comhaid ionsuite Python. Ina áit sin, is fillteán é timpeall toradh an modh:attr: Storage.open () `, a d'fhéadfadh a bheith a:class: `Djan.~Djan.Go.Core.Files.File réad, nó d'fhéadfadh sé a bheith ina chur i bhfeidhm stórála saincheaptha ar an API: class: ~django.core.files.file.
Chomh maith leis an API a oidhreacht ó:class: ~django.core.files.file mar read () ``agus ``write (), , :class: `FieldFile tá roinnt modhanna is féidir a úsáid chun idirghníomhú leis an gcomhad bunúsach:
- FieldFile.nameLink to this definition
Ainm an chomhaid lena n-áirítear an cosán coibhneasta ó fhréamh na:class: ~django.core.files.storage den chomhcheangail:class: ~django.db.models.filefield.
- FieldFile.pathLink to this definition
Maoin léite amháin chun rochtain a fháil ar chonair chóras comhaid áitiúil an chomhaid trí ghlaoch ar an modh: :meth: ~django.core.files.storage.path den aicme bunlying:class: ~django.core.files.storage.storage.
- FieldFile.sizeLink to this definition
<django.core.files.storage.Storage.size>Toradh an mhodh bunús:attr: `Storage.size () `.
- FieldFile.urlLink to this definition
Maoin léite amháin chun rochtain a fháil ar URL choibhneasta an chomhaid trí ghlaoch ar an modh: :meth: ~django.core.files.storage.url den aicme bunlying:class: ~django.core.files.storage.storage.
- FieldFile.open(mode='rb')Link to this definition
Osclaíonn nó athosclaíonn sé an comhad a bhaineann leis an gcás seo sa mod` sonraithe. Murab ionann agus an modh caighdeánach Python `open () `, ní thugann sé tuairiscóir comhad ar ais.
Ós rud é go n-osclaítear an comhad bunúsach intuigthe agus é ag teacht air, b'fhéidir nach mbeadh sé gan ghá an modh seo a ghlaoch ach amháin an pointí a athshocrú chuig an gcomhad bunúsach nó an mod a athrú.
- FieldFile.close()Link to this definition
Iompraíonn sé cosúil leis an modh caighdeánach Python `file.close () ``agus dúnann sé an comhad a bhaineann leis an gcás seo.
- FieldFile.save(name, content, save=True)Link to this definition
Tógann an modh seo ainm comhaid agus ábhar comhaid agus cuireann sé iad chuig an rang stórála don réimse, ansin comhcheanglaíonn sé an comhad stóráilte leis an réimse samhail. Más mian leat sonraí comhaid a cheangal de láimh le:class: ~django.db.models.filefield cásanna ar do mhúnla, úsáidtear an modh `save () ``chun na sonraí comhaid sin a leanúint.
Takes two required arguments: name which is the name of the file, and
content which is an object containing the file's contents. The
optional save argument controls whether or not the model instance is
saved after the file associated with this field has been altered. Defaults to
True.
Tabhair faoi deara gur chóir go mbeadh an argóint content mar shampla de:class: django.core.files.file, ní réad comhad ionsuite Python. Is féidir leat a:class: ~django.core.files.file a thógáil ó réad comhaid Python atá ann cheana mar seo:
from django.core.files import File
# Open an existing file using Python's built-in open()
f = open("/path/to/hello.world")
myfile = File(f)
Nó is féidir leat ceann a thógáil ó shreang Python mar seo:
from django.core.files.base import ContentFile
myfile = ContentFile("hello world")
Le haghaidh tuilleadh faisnéise, féach:doc: /topics/files.
- FieldFile.delete(save=True)Link to this definition
Scriosann sé an comhad a bhaineann leis an gcás seo agus glanann sé gach tréith ar an réimse. Nóta: Dúnfaidh an modh seo an comhad má tharlaíonn sé a bheith oscailte nuair a ghlaofar ``delete () ``.
Rialaíonn an argóint roghnach sábháil cibé an sábhálfar an tsamhail nó nach bhfuil an tsamhail tar éis an comhad a bhaineann leis an réimse seo a scriosadh. Réamhshocraithe go True.
Tabhair faoi deara nach scriostar comhaid ghaolmhara nuair a scriostar samhail. Más gá duit comhaid dílleachta a ghlanadh, beidh ort é a láimhseáil tú féin (mar shampla, le ordú bainistíochta saincheaptha is féidir a reáchtáil de láimh nó a sceidealú le rith go tréimhsiúil trí e.g. cron).
FilePathfieldLink to this heading
- class FilePathField(path='', match=None, recursive=False, allow_files=True, allow_folders=False, max_length=100, **options)Link to this definition
A: aicme: Charfield a bhfuil a roghanna teoranta do na hainmneacha comhaid in eolaire áirithe ar an gcóras comhaid. Tá roinnt argóintí speisialta aige, agus is gá an chéad cheann díú**:
- FilePathField.pathLink to this definition
Riachtanach. An cosán iomlán chórais chomhaid chuig eolaire as ba chóir go bhfaighidh seo:class: FilePathfield a roghanna. Sampla:
” /home/images".D'fhéadfadh go mbeadh
pathinghlaonta freisin, mar shampla feidhm chun an cosán a shocrú go dinimiciúil ag an am rith. Sampla:import os from django.conf import settings from django.db import models def images_path(): return os.path.join(settings.LOCAL_FILE_DIR, "images") class MyModel(models.Model): file = models.FilePathField(path=images_path)
- FilePathField.matchLink to this definition
Roghnach. Léiriú rialta, mar shreang, a úsáidfidh: class: FilePathfield chun ainmneacha comhaid a scagadh. Tabhair faoi deara go gcuirfear an regex i bhfeidhm ar an mbunainm comhaid, ní ar an gcosán iomlán. Sampla:
"foo.*\ .txt$", a mheaitseálfaidh comhad ar a dtugtarfoo23.txtach níbar.txtnófoo23.png.
- FilePathField.recursiveLink to this definition
Roghnach. Ceachtar
FíornóBréag. Is é “False” réamhshocraithe. Sonraíonn sé an gcaithfear gach fo-eolaire de:attr: ~FilePathfield.path a chur san áireamh
- FilePathField.allow_filesLink to this definition
Optional. Either
TrueorFalse. Default isTrue. Specifies whether files in the specified location should be included. Either this orallow_foldersmust beTrue.
- FilePathField.allow_foldersLink to this definition
Optional. Either
TrueorFalse. Default isFalse. Specifies whether folders in the specified location should be included. Either this orallow_filesmust beTrue.
Is é an gotcha féideartha amháin go mbaineann: attr: ~FilePathfield.match leis an mbunainm comhaid, ní leis an gcosán iomlán. Mar sin, an sampla seo:
FilePathField(path="/home/images", match="foo.*", recursive=True)
... meaitseálfaidh sé /home/images/foo.png ach ní /home/images/foo/bar.png toisc go mbaineann an:attr: ~FilePathfield.match leis an mbunainm comhaid (foo.png agus bar.png).
FilePathField instances are created in your database as varchar
columns with a default max length of 100 characters. As with other fields, you
can change the maximum length using the max_length argument.
``Floatfield ``Link to this heading
- class FloatField(**options)Link to this definition
Uimhir phointe snámh a léirítear i Python le sampla ``snám`.
Is é an giuirléid foirme réamhshocraithe don réimse seo a:class: ~django.forms.numberInput nuai:attr: ~django.forms.field.localize False nó:class: ~django.forms.textInput ar shlí eile.
``Réimse Ginithe ``Link to this heading
- class GeneratedField(*, expression, output_field, db_persist, **kwargs)Link to this definition
Réimse a ríomhtar i gcónaí bunaithe ar réimsí eile sa tsamhail. Déanann an bunachar sonraí féin an réimse seo a bhainistiú agus a nuashonrú. Úsáideann sé an comhréir SQL GENERATED ALWAYS.
Tá dhá chineál colún ginte ann: stóráilte agus fíorúil. Déantar colún a ghintear stóráilte a ríomh nuair a dhéantar é a scríobh (cuireadh isteach nó nuashonraithe) agus tá sé á stóráil amhail is dá mba cholún rialta é. Níl aon stóráil ag colún fíorúil a ghintear agus ríomhtar é nuair a léitear é. Dá bhrí sin, tá colún ginte fíorúil cosúil le radharc agus tá colún ginte stóráilte cosúil le radharc ábhartha.
- GeneratedField.expressionLink to this definition
An: aicme: Expression a úsáideann an bunachar sonraí chun luach an réimse a shocrú go huathoibríoch gach uair a athraítear an tsamhail.
Ba chóir go mbeadh na nathanna cinntiúcháin agus gan ach réimsí tagartha laistigh den tsamhail (sa tábla bunachar sonraí céanna). Ní féidir le réimsí ginte tagairt a dhéanamh do réimsí ginte eile Is féidir le cúltaca bunachar sonraí srianta breise a fhorchur.
- GeneratedField.output_fieldLink to this definition
Sampla réimse samhail chun cineál sonraí an réimse a shainiú.
- GeneratedField.db_persistLink to this definition
Cinneann sé an chóir go n-áitigh an cholún bunachar sonraí stóráil amhail is dá mba cholún fíor é. Má tá “False”, feidhmíonn an colún mar cholún fíorúil agus ní áitigh sé spás stórála bunachar sonraí.
Ní thacaíonn PostgreSQL ach le colúin leanúnacha. Ní thacaíonn Oracle ach colúin fíorúla
GenericipAddressFieldLink to this heading
- class GenericIPAddressField(protocol='both', unpack_ipv4=False, **options)Link to this definition
Seoladh IPv4 nó IPv6, i bhformáid teaghrán (m.sh. 192.0.2.30 nó 2a 02:42 fe: :4). Is é an giuirléid foirme réamhshocraithe don réimse seo a: class: ~django.forms.textInput.
Leanann normalú an seoladh IPv6: rfc: 4291 #section -2.2 alt 2.2, lena n-áirítear úsáid a bhaint as an bhformáid IPv4 a mholtar i mír 3 den chuid sin, cosúil le : :ffff:192.0.2.0. Mar shampla, bheadh 2001:0:: 0:01 normalaithe go 2001: :1, agus : :ffff:0a0a0a go``: :ffff:10.10.10``. Déantar gach carachtar a thiontú go litreacha beaga.
- GenericIPAddressField.protocolLink to this definition
Teoraíonn sé ionchuir bailí don phrótacal sonraithe. Is iad na luachanna a nglactar leo ná
'beach'(réamhshocraithe),'IPv4'nó`IPv6'. Tá an meaitseáil neamh-íogair.
- GenericIPAddressField.unpack_ipv4Link to this definition
Díphacáil seoltaí mapáilte IPv4 mar
:: ffff: 192.0.2.1. Má tá an rogha seo cumasaithe déanfaí an seoladh sin a dhíphacáil go192.0.2.1 ``. Tá réamhshocrú díchumasaithe. Ní féidir é a úsáid ach amháin nuair a shocraítear ``prótacolgo ``beach'.
Má cheadaíonn tú luachanna bána, caithfidh tú luachanna neall a cheadú ós rud é go ndéantar luachanna bána a stóráil mar null.
ImageFieldLink to this heading
- class ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options)Link to this definition
Oidhreann sé gach tréith agus modh ó:class: FileField, ach bailíonn sé freisin gur íomhá bailí é an réad uaslódáilte.
Chomh maith leis na tréithe speisialta atá ar fáil dó:class: FileField, tá tréithe `airde agus leithead ag: Class: `ImageField freisin.
Chun fiosrú ar na tréithe sin a éascú, tá na hargóintí roghnacha seo a leanas ag :class: ImageField:
- ImageField.height_fieldLink to this definition
Ainm réimse samhail a dhéantar go huathoibríoch le airde na híomhá gach uair a shocraítear réad íomhá.
- ImageField.width_fieldLink to this definition
Ainm réimse samhail a dhéantar go huathoibríoch le leithead na híomhá gach uair a shocraítear réad íomhá.
Éilíonn an leabharlanna:pypi: pillow.
ImageField instances are created in your database as varchar
columns with a default max length of 100 characters. As with other fields, you
can change the maximum length using the max_length argument.
Is é an giuirléid foirme réamhshocraithe don réimse seo a:class: ~django.forms.clearaableFileInput.
Réimse iomlánaLink to this heading
- class IntegerField(**options)Link to this definition
An integer. Values are only allowed between certain (database-dependent)
points. Values from -2147483648 to 2147483647 are compatible in all
databases supported by Django.
Úsáideann sé: aicme: ~django.core.validators.minvalueValidator agus:class: ~django.core.validators.maxvalueValidator chun an t-ionchur a bhailíochtú bunaithe ar na luachanna a thacaíonn an bunachar sonraí réamhshocraithe.
Is é an giuirléid foirme réamhshocraithe don réimse seo a:class: ~django.forms.numberInput nuai:attr: ~django.forms.field.localize False nó:class: ~django.forms.textInput ar shlí eile.
JsonfieldLink to this heading
- class JSONField(encoder=None, decoder=None, **options)Link to this definition
Réimse chun sonraí ionchódaithe JSON a stóráil. I Python léirítear na sonraí ina bhformáid dúchasach Python: foclóirí, liostaí, teaghráin, uimhreacha, booleans agus ``None ``.
<sqlite-json1>Tacaítear le JSONField ar MariaDB, MySQL, Oracle, PostgreSQL, agus SQLite (leis an síneadh: ref: `JSON1 cumasaithe `).
- JSONField.encoderLink to this definition
An optional
json.JSONEncodersubclass to serialize data types not supported by the standard JSON serializer (e.g.datetime.datetimeorUUID). For example, you can use theDjangoJSONEncoderclass.Réamhshocraithe go
JSON.JSONEncoder.
- JSONField.decoderLink to this definition
An optional
json.JSONDecodersubclass to deserialize the value retrieved from the database. The value will be in the format chosen by the custom encoder (most often a string). Your deserialization may need to account for the fact that you can't be certain of the input type. For example, you run the risk of returning adatetimethat was actually a string that just happened to be in the same format chosen fordatetimes.Réamhshocraithe go
JSON.JSONDecoder.
Chun Jsonfield a cheistiú sa bhunachar sonraí, féach:ref: querying-jsonfield.
PositiveBigIntegerFieldLink to this heading
- class PositiveBigIntegerField(**options)Link to this definition
Like a PositiveIntegerField, but only allows values under a certain
(database-dependent) point. Values from 0 to 9223372036854775807 are
compatible in all databases supported by Django.
``Réimse Dearfach Iomlán ``Link to this heading
- class PositiveIntegerField(**options)Link to this definition
Like an IntegerField, but must be either positive or zero (0).
Values are only allowed under a certain (database-dependent) point. Values from
0 to 2147483647 are compatible in all databases supported by Django.
The value 0 is accepted for backward compatibility reasons.
PositivesmallIntéarréimhLink to this heading
- class PositiveSmallIntegerField(**options)Link to this definition
Like a PositiveIntegerField, but only allows values under a certain
(database-dependent) point. Values from 0 to 32767 are compatible in
all databases supported by Django.
SlugfieldLink to this heading
- class SlugField(max_length=50, **options)Link to this definition
Slug is a newspaper term. A slug is a short label for something, containing only letters, numbers, underscores or hyphens. They're generally used in URLs.
Cosúil le CharField, is féidir leat: attr: ~charfield.MAX_LENGTH a shonrú (léigh an nóta faoi iniomparthacht bunachar sonraí agus:attr: ~charfield.MAX_LENGTH sa chuid sin freisin). Más: Attr: ~Charfield.max_Length nach sonraítear, úsáidfidh Django fad réamhshocraithe de 50.
Tugann sé le tuiscint socrú: attr: Field.db_index go True.
It is often useful to automatically prepopulate a SlugField based on the value
of some other value. You can do this automatically in the admin using
prepopulated_fields.
Úsáideann sé: aicme: ~django.core.validators.validate_slug nó:class: ~django.core.validators.validate_unicode_slug le haghaidh bailíochtaithe.
- SlugField.allow_unicodeLink to this definition
Má tá
True, glacann an réimse litreacha Unicode i dteannta litreacha ASCII. Réamhshocraithe goFalse.
SmallAutofieldLink to this heading
- class SmallAutoField(**options)Link to this definition
Like an AutoField, but only allows values under a certain
(database-dependent) limit. Values from 1 to 32767 are compatible in
all databases supported by Django.
SmallIntegerFieldLink to this heading
- class SmallIntegerField(**options)Link to this definition
Like an IntegerField, but only allows values under a certain
(database-dependent) point. Values from -32768 to 32767 are compatible
in all databases supported by Django.
Réimse téacsLink to this heading
- class TextField(**options)Link to this definition
Réimse mór téacs. Is é a: class: ~django.forms.textarea an giuirléid foirme réamhshocraithe don réimse seo.
Má shonraíonn tú tréith ``max_length ``, léireofar é sa ghuirléid: class: ~django.forms.textarea den réimse foirme uathghinithe. Ní chuirtear i bhfeidhm é, áfach, ag leibhéal an tsamhail nó bunachar sonraí. Úsáid a:class: Charfield chuige sin.
- TextField.db_collationLink to this definition
Roghnach. Ainm bailithe bunachar sonraí an réimse.
``Réimse ama ``Link to this heading
- class TimeField(auto_now=False, auto_now_add=False, **options)Link to this definition
Am, a léirítear i Python le sampla datetime.time. Glacann sé leis na roghanna uathoibríoch céanna mar: class: DateField.
Is é an giuirléid foirme réamhshocraithe don réimse seo a: class: ~django.forms.timeinput. Cuireann an riarachán roinnt aicearraí JavaScript leis.
UrlfieldLink to this heading
- class URLField(max_length=200, **options)Link to this definition
A: Class: Charfield le haghaidh URL, bailíochtaithe ar:class: ~django.core.validators.urlValidator.
Is é an giuirléid foirme réamhshocraithe don réimse seo a: class: ~django.forms.urlinput.
Cosúil le gach fo-aicm:class: Charfield, glacann: class: URLField an argóint roghnaí:attr: ~charfield.MAX_LENGTH. Mura sonraíonn tú: attr: ~charfield.max_Length, úsáidtear réamhshocrú 200.
UuidfieldLink to this heading
- class UUIDField(**options)Link to this definition
Réimse chun aitheantóirí uathúla a stóráil. Úsáideann Python's:class: ~Python: uuid.uuid aicme. Nuair a úsáidtear é ar PostgreSQL agus MariaDB 10.7+, stóráilíonn sé seo i gcineál sonraí uuid, ar shlí eile i ``char (32) ``.
Is rogha eile maith iad aitheantóirí uathúla go huilíoch seach:class: Autofield for:attr: ~field.primary_key. Ní ghinfidh an bunachar sonraí an UUID duit, mar sin moltar a úsáid:attr: ~field.default:
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
# other fields
Tabhair faoi deara go gcuirtear glaoch inghlaonta (agus na lúibíní fágtha) chuig default, ní sampla de ``UUID ``.
Tagairt API réimseLink to this heading
- class FieldLink to this definition
Is aicme teibí é
Fielda léiríonn colún tábla bunachar sonraí. Úsáideann Django réimsí chun an tábla bunachar sonraí a chruthú (:meth: db_type), chun cineálacha Python a mhapáil go bunachar sonraí (:meth: get_prep_value) agus a mhalairt (:meth: from_db_value).<django.db.models.query.QuerySet>Mar sin is píosa bunúsach é réimse in APIs éagsúla Django, go háirithe, :class: models <django.db.models.Model>`agus:class: `querysets.
I samhlacha, cuirtear réimse mar thréith aicme agus léiríonn sé colún tábla áirithe, féach:doc: /topics/db/models. Tá tréithe aige mar: attr: null agus:attr: unique, agus modhanna a úsáideann Django chun luach an réimse a mhapáil go luachanna sonracha bunachar sonraí.
Is fo-aicme é Field` de:class: ~django.db.models.lookups.registerlookupmixin agus dá bhrí sin is féidir an bheath:class: ~django.db.Models.transform agus:class: ~Django.db.Models.lookup a chlárú air le húsáid in
QuerySets (m.sh. fi eld_ainm__exact="foo"``). Gach: ref: cláraítear `cuardaigh ionsuite <field-lookups>`de réir réamhshocraithe.Is cur i bhfeidhm ar
Field` iad na réimsí ionsuite go léir atá ag Django, mar shampla:class: `Charfield`. Má theastaíonn réimse saincheaptha uait, is féidir leat aon cheann de na réimsí ionsuite a fho-aicmiú nó ``Réimsea scríobh ón tús. I gceachtar cás, féach:doc: /howto/custom-model-fields.- descriptionLink to this definition
Tuairisc fhíorúil ar an réimse, m.sh. don iarratas:mod: django.contrib.admindocs.
Is féidir leis an tuairisc a bheith ar an bhfoirm:
description = _("String (up to %(max_length)s)")ina ndéantar na hargóintí idirphóilte ó
__dict__an réimse.
- descriptor_classLink to this definition
A class implementing the descriptor protocol that is instantiated and assigned to the model instance attribute. The constructor must accept a single argument, the
Fieldinstance. Overriding this class attribute allows for customizing the get and set behavior.
Chun
Réimsea mhapáil go cineál sonrach don bhunachar sonraí, nochtann Django roinnt modhanna:- get_internal_type()Link to this definition
Tugann sreang ar ais ag ainmniú an réimse seo chun críocha cúltaca sonracha. De réir réamhshocraithe, filleann sé ainm an ranga ar ais.
Féach: tagairt: `cineálacha ionsuite i réimse a aithris le húsáid i réimsí saincheaptha.
- db_type(connection)Link to this definition
Tugann an cineál sonraí colún bunachar sonraí ar ais don: aicme: Réimse, agus an nasc` á gcur san áireamh.
Féach: ref: saincheapach-bunachar sonraí cineálach le húsáid i réimsí saincheaptha.
- rel_db_type(connection)Link to this definition
Tugann an cineál sonraí colún bunachar sonraí ar fáil do réimsí amhail
ForeignKeyagusOneTooneFielda thugann pointe chuir:class: Field, agus an nasc` á gcur san áireamh.Féach: ref: saincheapach-bunachar sonraí cineálach le húsáid i réimsí saincheaptha.
Tá trí phríomhchás ann ina gcaithfidh Django idirghníomhú le cúltaca bunachar sonraí agus réimsí:
nuair a fhiosraíonn sé an bunachar sonraí (luach Python -> luach cúltaca bunachar sonraí)
nuair a luchtaíonn sé sonraí ón mbunachar sonraí (luach cúltaca bunachar sonraí -> luach Python)
nuair a shábhálann sé ar an mbunachar sonraí (luach Python -> luach cúltaca bunachar sonraí)
Agus tú ag fiosrú, úsáidtear :meth: get_db_prep_value agus:meth: get_prep_value:
- get_prep_value(value)Link to this definition
Is é “luach” luach reatha tréith an tsamhail, agus ba cheart don mhodh sonraí a thabhairt ar ais i bhformáid atá ullmhaithe le húsáid mar pharaiméadar i bhfiosrúchán.
Féach:ref: `tiontaire-python-objects-go-fiosrúcháin luacha' le húsáid.
- get_db_prep_value(value, connection, prepared=False)Link to this definition
Converts
valueto a backend-specific value. By default it returnsvalueifprepared=True, andget_prep_value(value)otherwise.Féach:ref: luachanna fiosrúcháin a thiontú go luachanna bunachar sonraí le húsáid.
Agus sonraí á luchtú, úsáidtear: meth: from_db_value:
- from_db_value(value, expression, connection)Link to this definition
Athraíonn sé luach mar a thug an bunachar sonraí ar ais go réad Python. Is é an cúil de:meth: get_prep_value.
Ní úsáidtear an modh seo don chuid is mó de na réimsí ionsuite mar go bhfilleann cúltaca an bunachar sonraí an cineál ceart Python cheana féin, nó déanann an cúltaca féin an tiontú.
Tá
léirithemar an gcéanna leféin.Féach: Ref: luachanna tiontai-go-réadanna python le húsáid.
Agus tú ag sábháil, úsáidtear :meth: pre_save agus:meth: get_db_prep_save:
- get_db_prep_save(value, connection)Link to this definition
Mar an gcéanna leis an: meth: get_db_prep_value, ach tugtar air nuair a chaithfear luach an réimse a shábháil* sa bhunachar sonraí. De réir réamhshocraithe tuairisceáin: meth: get_db_prep_value.
- pre_save(model_instance, add)Link to this definition
Modh ar a dtugtar roimh: meth: get_db_prep_save chun an luach a ullmhú sula ndéantar é a shábháil (m.sh. le haghaidh: attr: Datefield.auto_now).
Is é
model_instancean cás leis an réimse seo agusaddcibé an bhfuil an cás á shábháil sa bhunachar sonraí den chéad uair.Ba chóir dó luach na tréithe cuí a thabhairt ar ais ó model_instance` don réimse seo. Tá ainm na tréithe in
self.attname(bunaítear é seo ar:class: ~django.db.models.field).Féach: tagairt: `luachanna réamhphróiseálaí-roimh shábháilte' le húsáid.
Is minic a fhaigheann réimsí a luachanna mar chineál difriúil, ó shraitheadh nó ó fhoirmeacha.
- to_python(value)Link to this definition
Athraíonn sé an luach isteach sa réad ceart Python. Feidhmíonn sé mar chúlghair:meth: value_to_string, agus tugtar air freisin in:meth: ~django.db.models.model.clean.
Féach: Ref: luachanna tiontai-go-réadanna python le húsáid.
Chomh maith le sábháil ar an mbunachar sonraí, ní mór don réimse a bheith ar an eolas freisin conas a luach a shraitheadh:
- value_from_object(obj)Link to this definition
Tugann luach an réimse ar ais don shampla samhail ar leith.
Is minic a úsáideann an modh seo ó:meth: value_to_string.
- value_to_string(obj)Link to this definition
Athraíonn sé
objgo sreang. Úsáidtear chun luach an réimse a shraitheadh.Féach: ref: tiontai-samhail-réim-to-sraitheoireach le húsáid.
Nuair a úsáidtear: aicme: foirmeacha samhail <django.forms.ModelForm>, ní mór go mbeadh a fhios ag an ``Réimse ``cén réimse foirme ba chóir a léiriú leis:
- formfield(form_class=None, choices_form_class=None, **kwargs)Link to this definition
Tugann sé an réamhshocraithe:class: Django.Forms.Field den réimse seo ar ais chó:class: ~Django.Forms.ModelForm.
If
formfield()is overridden to returnNone, this field is excluded from theModelForm.De réir réamhshocraithe, má tá
form_classaguschoices_form_classNone ``araon, úsáideann sé: class: `~django.forms.charfield`. Mura bhfuil: attr: `~django.db.models.field.choices` agus ``choices_form_classsonraithe sa réimse, úsáideann se:class: ~django.forms.typedChoiceField.Féach: tagairt: sonraitheach-foirm-réimse-for-mhúnla-réimse le húsáid.
- deconstruct()Link to this definition
Filleann sé 4-tuple le go leor faisnéise chun an réimse a athchruthú:
Ainm an réimse ar an tsamhail.
Conair allmhairithe an réimse (m.sh.
"Django.db.Models.IntegerField"). Ba chóir gurb é seo an leagan is iniompartha, mar sin b'fhéidir go mbeadh níos lú sonrach níos fearr.Liosta de na hargóintí seasaimh.
Argóintí eochairfhocal.
Caithfear an modh seo a chur le réimsí roimh 1.7 chun a chuid sonraí a aistriú ag baint úsáide:doc: /topics/imirceas.
Cuardaigh a chlárú agus a fháilLink to this heading
<lookup-registration-api>Cuireann Field an API cláraithe cuardaithe:ref: `cuardach i bhfeidhm. Is féidir an API a úsáid chun na cuardaigh atá ar fáil do rang allamuigh agus a chásanna a shaincheapadh, agus conas a bhfaightear cuardaigh ó réimse.
Tagairt tréithe réimseLink to this heading
Tá roinnt tréithe i ngach cás ``Field` a cheadaíonn a iompar a inmheasachaint. Úsáid na tréithe seo in ionad seiceálacha isinstance nuair is gá duit cód a scríobh atá ag brath ar fheidhmiúlacht réimse. Is féidir na tréithe seo a úsáid in éineacht leis an múnla:ref: `Samhail. _meta API <model-meta-field-api>`chun cuardach do chineálacha réimse ar leith a chúngú. Ba chóir go gcuirfeadh réimsí samhail saincheaptha na bratacha
Tréithe do réimsíLink to this heading
- Field.auto_createdLink to this definition
Bratach Boolean a thugann le fios an cruthaíodh an réimse go huathoibríoch, mar shampla an Onetoonefield` a úsáideann oidhreacht mhúnla.
- Field.concreteLink to this definition
Bratach Boolean a léiríonn an bhfuil colún bunachar sonraí a bhaineann leis an réimse.
<django.db.models.options.Options.get_fields>Bratach Boolean a léiríonn an bhfuil réimse i bhfolach agus nár chóir é a thabhairt ar ais ag: meth: Options.get_fields () `de réir réamhshocraithe. Sampla is ea an réimse droim le haghaidh a:class: `~django.db.models.foreignKey le
related_namea thosaíonn le`+'.
- Field.is_relationLink to this definition
Bratach Boolean a thugann le fios an bhfuil tagairtí do mhúnla amháin nó níos mó eile i réimse maidir lena fheidhmiúlacht (m.sh. ForeignKey`, ManyTomanyField`, OnetooneField`, srl.).
- Field.modelLink to this definition
Tugann sé an tsamhail ar a bhfuil an réimse sainmhínithe ar ais. Má shainmhínítear réimse ar sháraicme de mhúnla, tagróidh ``samhail ``don sáraicme, ní do rang an cháis.
Tréithe do réimsí le caidreamhLink to this heading
Úsáidtear na tréithe seo chun ceist a dhéanamh ar chardánacht agus sonraí eile gaol. <Field.is_relation>Tá na tréithe seo i láthair ar gach réimse; áfach, ní bheidh ach luachanna boolean acu (seachas ``None ``) más cineál caidrimh é an réimse (:attr: `field.is_relations = True `).
- Field.many_to_manyLink to this definition
Bratach Boolean atá
Fíor-má tá gaol go leor ag an réimse;Fréagar shlí eile. Is éManyTomanyFieldan t-aon réimse atá san áireamh le Django ina bhfuil sé seoTrue.
- Field.many_to_oneLink to this definition
Bratach Boolean atá
Truemá tá gaol go leor le duine ag an réimse, mar shamplaForeignKey;Fréagar shlí eile.
- Field.one_to_manyLink to this definition
Bratach Boolean atá “Fíor” má tá gaol duine le go leor ag an réimse, mar shampla
GinearicRelationnó cúlForeignKey;Fréagar shlí eile.
- Field.one_to_oneLink to this definition
Bratach Boolean atá
Truemá tá gaol duine le duine ag an réimse, mar shamplaOneTooneField;Falseeile.
Pointí leis an tsamhail a bhaineann an réimse leis. Mar shampla,
Údari ForeignKey (Author, on_delete=Models.Cascade) `. Is é “None” i gcónaí an model_gaolmhar ``do `GenericForeignKey`.