Roghanna múnla MetaLink to this heading
Míníonn an doiciméad seo na roghanna meiteashonraí go léir:ref: féadfaidh <meta-options>tú do mhúnla a thabhairt ina aicme Meta inmheánach.
Roghanna Meta ar fáilLink to this heading
teochairLink to this heading
- Options.abstractLink to this definition
<abstract-base-classes>Má tá
abstract = True, beidh an tsamhail seo an:ref: `aicme bonn teibí `.
app_labelLink to this heading
- Options.app_labelLink to this definition
Má shainmhínítear samhail lasmuigh d'iarratas in:setting: INSTALLED_APPS, ní mór dó a dhearbhú cén aip leis a bhaineann sé:
app_label = "myapp"Más mian leat samhail a léiriú leis an bhformáid
app_label.object_namenóapp_label.model_nameis féidir leatmodel a úsáid. _meta.labelnósamhail. _meta.label_lowerfaoi seach.
`ainm_bainisteoir baseLink to this heading
- Options.base_manager_nameLink to this definition
Ainm tréithe an bhainisteora, mar shampla,
'objects, le húsáid do na samhlach's:attr: `~Django.db.Models.Model. _bainisteoir bunaisteoir'.
db_tableLink to this heading
- Options.db_tableLink to this definition
Ainm an tábla bunachar sonraí le húsáid don tsamhail:
db_table = "music_album"
Ainmneacha táblaLink to this heading
Chun am a shábháil duit, faigheann Django ainm an tábla bunachar sonraí go huathoibríoch ó ainm d'aicme samhail agus ón aip ina bhfuil sé. Tógtar ainm tábla bunachar sonraí samhail trí “lipéad aip” an tsamhail - an t-ainm a d'úsáid tú in:djadmin: manage.py startapp <startapp>- a cheangal le hainm ranga an tsamhail, le béim eatarthu.
Mar shampla, má tá aip agat bookstore` (mar a chruthaigh manage.py startapp bookstore), beidh tábla bunachar sonraí darb ainm bookstore_book ag samhail a shainmhínítear mar class Book.
Chun ainm an tábla bunachar sonraí a shárú, bain úsáid as an paraiméadar db_table i aicme Meta`.
Más focal fhorchoimeádaithe SQL é d'ainm tábla bunachar sonraí, nó má tá carachtair nach gceadaítear in ainmneacha athróg Python - go háirithe, an giphen - tá sin ceart go leor. Luann Django ainmneacha colún agus tábla taobh thiar de na radhairc.
``db_table_comment ``Link to this heading
- Options.db_table_commentLink to this definition
An trácht ar an tábla bunachar sonraí le húsáid don tsamhail seo. Tá sé úsáideach chun táblaí bunachar sonraí 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:
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
answer = models.TextField()
class Meta:
db_table_comment = "Question answers"
db_tablespaceLink to this heading
- Options.db_tablespaceLink to this definition
Ainm an:doc: spás tábla bunachar sonraí le húsáid don tsamhail seo. </topics/db/tablespaces> Is é an réamhshocrú an tionscadal: setting: DEFAULT_TABLESPACE socrú, má tá sé socraithe. Mura dtacaíonn an cúltaca le spásanna tábla, déantar neamhaird ar an rogha seo.
ainm_bhainisteoir réamhshocraitheLink to this heading
- Options.default_manager_nameLink to this definition
Ainm an bhainisteora le húsáid do na samhail's:attr: `~django.db.Models.Model. _bainisteoir réamhshocraithe'.
faigh_is déanaí_bLink to this heading
- Options.get_latest_byLink to this definition
Ainm réimse nó liosta d'ainmneacha réimse sa tsamhail, de ghnáthach:class: DateField, :class: DateTimeField, nó:class: Integerfield. Sonraíonn sé seo an réimsí réamhshocraithe atá le húsáid i do mhúnla:class: Manager's:Meth: ~django.db.models.queryset.latest agus:meth: ~django.db.models.queryset.earliest modhanna.
Sampla:
# Latest by ascending order_date. get_latest_by = "order_date" # Latest by priority descending, order_date ascending. get_latest_by = ["-priority", "order_date"]Féach na docs: meth: ~django.db.models.query.queryset.latest le haghaidh tuilleadh eolais.
``bainistithe ``Link to this heading
- Options.managedLink to this definition
Réamhshocraithe go
True, rud a chiallaíonn go gcruthóidh Django na táblaí bunachar sonraí iomchuí in:djadmin: migrate nó mar chuid d'imirce agus bainfidh sé iad mar chuid d'ordú bainistíochta a:djadmin: flush. Is é sin, bainistíonn Django* saolré na dtáblaí bunachar sonraí.Má tá “False”, ní dhéanfar aon oibríochtaí cruthaithe, modhnú nó scriosadh tábla bunachar sonraí don tsamhail seo. Tá sé seo úsáideach má léiríonn an tsamhail tábla atá ann cheana nó dearcadh bunachar sonraí a cruthaíodh ar bhealach éigin eile. Is é seo an difríocht* ionly* nuair a bhíonn bainistithe = bréag`. Tá gach gné eile de láimhseáil samhail díreach mar an gcéanna leis an ngnách. Áirítear leis seo
Adding an automatic primary key field to the model if you don't declare it. To avoid confusion for later code readers, it's recommended to specify all the columns from the database table you are modeling when using unmanaged models.
Má tá a: class: ~django.db.models.manyToManyField i samhail le Managed=False` a thugann in iúl ar mhúnla neamh-bhainistithe eile, ansin ní chruthófar an tábla idirmheánach don chomhcheangal go leor freisin. Mar sin féin, cruthófar an tábla idirghabhálaí idir samhail amháin bainistithe agus samhail neamh-bhainistithe amháin **.
Más gá duit an t-iompar réamhshocraithe seo a athrú, cruthaigh an tábla idirghabhálaí mar mhúnla follasach (le bhainistithe ``socraithe de réir mar is gá) agus bain úsáid as an tréith: attr: `ManyTomanyField.through chun an gaol a úsáid do mhúnla saincheaptha.
Maidir le tástálacha a bhaineann le samhlacha le Managed = False`, is fútsa atá sé a chinntiú go gcruthaítear na táblaí cearta mar chuid den socrú tástála.
Má tá suim agat iompar rang samhail ar leibhéal Python a athrú, d'fhéad* d'fhéad*
Managed = Falsea úsáid agus cóip de mhúnla atá ann cheana a chruthú. Mar sin féin, tá cur chuige níos fearr ann don chás sin: :ref: proxy-models.
``ordó_le_urchúis_toLink to this heading
- Options.order_with_respect_toLink to this definition
Déanann an réad seo inordaithe maidir leis an réimse ar leith, de ghnáth is “ForeignKey'”. Is féidir é seo a úsáid chun rudaí gaolmhara a dhéanamh inordaithe maidir le réad tuismitheora. Mar shampla, má bhaineann
Freagrale réadCeiste, agus má tá níos mó ná freagra amháin ag ceist, agus má tá ord na bhfreagraí tábhachtach, déanfá seo:from django.db import models class Question(models.Model): text = models.TextField() # ... class Answer(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) # ... class Meta: order_with_respect_to = "question"Nuair a shocraítear
order_with_respect_to, cuirtear dhá mhodh breise ar fáil chun ord na rudaí gaolmhara a aisghabháil agus a shocrú:get_related_order () ``agus ``set_related_order (), áit a bhfuil RELATED` ainm an tsamhail ísle. Mar shampla, ag glacadh leis go bhfuil rudaí iolrachaFreagragaolmhara ag réadCeiste, tá príomh-eochracha na rudaíFreagragaolmhara sa liosta a thugtar ar ais:>>> question = Question.objects.get(id=1) >>> question.get_answer_order() [1, 2, 3]Is féidir ord rudaí
Cheistea bhaineann leFreagraa shocrú trí liosta de phríomhheochracha`Freagraa chur isteach:>>> question.set_answer_order([3, 1, 2])Faigheann na rudaí gaolmhara dhá mhodh freisin,
get_next_in_order () ``agus ``get_previous_in_order (), ar féidir a úsáid chun rochtain a fháil ar na rudaí sin ina n-ord ceart. Ag glacadh leis go bhfuil na rudaíFreagraordaithe ag id`:>>> answer = Answer.objects.get(id=2) >>> answer.get_next_in_order() <Answer: 3> >>> answer.get_previous_in_order() <Answer: 1>
``ordú ``Link to this heading
- Options.orderingLink to this definition
An t-ordú réamhshocraithe don réad, le húsáid agus liostaí rudaí á fháil:
ordering = ["-order_date"]Is tuple nó liosta teaghráin agus/nó nathanna fiosrúcháin é seo. Is ainm réimse é gach sreang le réimír roghnach “-”, a léiríonn ord íslitheach. Ordófar páirceanna gan tosaigh “-” ag ardú. Úsáid an teaghrán “?” chun ordú go randamach.
Mar shampla, chun ordú de réir réimse
pub_dateag ardú, bain úsáid as seo:ordering = ["pub_date"]Chun ordú trí pub_date` síos, bain úsáid as seo:
ordering = ["-pub_date"]Chun ordú trí pub_date ``ag dul síos, ansin trí ``author` ag ardú, bain úsáid as seo:
ordering = ["-pub_date", "author"]Is féidir leat úsáid freisin: doc: léirithe fiosraithe' </ref/models/expressions>. Chun ordú trí ``údar` ag ardú agus luachanna null a shórtáil go deireanach, bain úsáid as seo:
from django.db.models import F ordering = [F("author").asc(nulls_last=True)]
ceadúnaíLink to this heading
- Options.permissionsLink to this definition
Ceadanna breise le dul isteach sa tábla ceadanna agus an réad seo á chruthú. Cruthaítear ceadanna a chur leis, a athrú, a scriosadh agus féachaint go huathoibríoch do gach samhail. Sonraíonn an sampla seo cead breise,
can_deliver_pizzas:permissions = [("can_deliver_pizzas", "Can deliver pizzas")]Seo liosta nó tiúpla de dhá thúpla san fhormáid
(ceadúna_cód, human_readable_ceadúna_ainm).
ceadúna_réamhshocraitheLink to this heading
- Options.default_permissionsLink to this definition
Réamhshocraithe go
('cuir', 'athraigh', 'scrios', 'view'). Féadfaidh tú an liosta seo a shaincheapadh, mar shampla, tríd é seo a shocrú ar liosta folamh mura dteastaíonn aon chead de na ceadanna réamhshocraithe ag teastáil ó aip. Caithfear é a shonrú ar an tsamhail sula gcruthófar an tsamhail ó:djadmin: migrate d'fhonn cosc a chur ar aon cheadanna fágtha a chruthú.
proxyLink to this heading
- Options.proxyLink to this definition
<proxy-models>Má tá
proxy = True, déileálfar le samhail a fho-aicmíonn samhail eile mar a:ref: `seachmhúnla `.
riachtanach_db_gnéatachLink to this heading
- Options.required_db_featuresLink to this definition
Liosta de na gnéithe bunachar sonraí ba chóir a bheith ag an nasc reatha ionas go mbreithnítear an tsamhail le linn na céime imirce. Mar shampla, má shocraíonn tú an liosta seo go
['gis_enabled'], ní dhéanfar an tsamhail a shioncronú ach ar bhunachar sonraí atá cumasaithe GIS. Tá sé úsáideach freisin roinnt samhlacha a scipeáil agus tú ag tástáil le roinnt cúltaca bunachar sonraí. Seachain caidreamh idir samhlacha a d'fhéadfaí nó nach féidir a chruthú toisc nach láimhseálann an ORM é seo.
riachtanach_db_vendorLink to this heading
- Options.required_db_vendorLink to this definition
Ainm díoltóra bunachar sonraí tacaithe a bhfuil an tsamhail seo sonrach air. Is iad na hainmneacha díoltóra ionsuite reatha:
sqlite, postgresql`,mysql,oracle. Mura bhfuil an tréith seo folamh agus mura n-oireann an díoltóir nasc reatha leis, ní dhéanfar an tsamhail a shioncronú.
roghnaithe_on_shábháilLink to this heading
- Options.select_on_saveLink to this definition
Determines if Django will use the pre-1.6
django.db.models.Model.save()algorithm. The old algorithm usesSELECTto determine if there is an existing row to be updated. The new algorithm tries anUPDATEdirectly. In some rare cases theUPDATEof an existing row isn't visible to Django. An example is the PostgreSQLON UPDATEtrigger which returnsNULL. In such cases the new algorithm will end up doing anINSERTeven when a row exists in the database.De ghnáth ní gá an tréith seo a shocrú. Is é an réamhshocrú
False.See
django.db.models.Model.save()for more about the old and new saving algorithm.
``Innéacsanna ``Link to this heading
- Options.indexesLink to this definition
Liosta de:doc: indexes </ref/models/indexes> ar mhaith leat a shainiú ar an tsamhail:
from django.db import models class Customer(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) class Meta: indexes = [ models.Index(fields=["last_name", "first_name"]), models.Index(fields=["first_name"], name="first_name_idx"), ]
uathach_le chéimeLink to this heading
- Options.unique_togetherLink to this definition
-
Tacair ainmneacha réimse a chaithfidh, a thógtar le chéile, a bheith uathúil:
unique_together = [["driver", "restaurant"]]Seo liosta de na liostaí a chaithfidh a bheith uathúil nuair a mheastar le chéile. Úsáidtear é i riarachán Django agus cuirtear i bhfeidhm ar leibhéal an bhunachar sonraí (ie, tá na ráitis chuí
UNIQUEsan áireamh sa ráiteasCREATE TABLE).Ar mhaithe le háisiúlacht, is féidir le ``unique_together ``a bheith ina liosta amháin agus tú ag déileáil le sraith amháin réimsí:
unique_together = ["driver", "restaurant"]A: Aicme: ~Django.db.Models.ManyTomanyField ní féidir a chur san áireamh i ``unique_together ``. (Níl sé soiléir cad a chiallódh sé sin fiú!) <ManyToManyField.through>Más gá duit uathúlacht a bhaineann le a:class: ~django.db.models.manyToManyField a bhailíochtú, déan iarracht comhartha nó samhail explicit:attr: `through `a úsáid.
Tá an cód earráide
unique_together ``sa `ValidationErrora ardaítear le linn bailíochtaithe samhail nuair a sháraítear an srian.
``srianta ``Link to this heading
- Options.constraintsLink to this definition
Liosta de:doc: sriantaine ar mhaith leat a shainiú </ref/models/constraints> ar an tsamhail:
from django.db import models class Customer(models.Model): age = models.IntegerField() class Meta: constraints = [ models.CheckConstraint(condition=models.Q(age__gte=18), name="age_gte_18"), ]
ainm_verboseLink to this heading
- Options.verbose_nameLink to this definition
Ainm inléite don duine don réad, uathúil:
verbose_name = "pizza"Mura dtugtar é seo, úsáidfidh Django leagan de ainm an ranga:
Camelcaseéiríonn`cás camel.
ainm_verbose_pluralLink to this heading
- Options.verbose_name_pluralLink to this definition
An t-ainm iolra don réad:
verbose_name_plural = "stories"Mura dtugtar é seo, úsáidfidh Django: attr: ~options.verbose_name +
"s".
Tréithe Meta atá le léamh amháinLink to this heading
lipéadLink to this heading
- Options.labelLink to this definition
Léiríonn an réad, filleann
app_label.object_name, m.sh.`Polls.question'.
label_lowerLink to this heading
- Options.label_lowerLink to this definition
Léiríonn léiriú an tsamhail, filleann
app_label.model_name, m.sh.`polls.question'.