---
title: "Roghanna múnla Meta"
version: 6.1
locale: ga
source: https://docs.djangoproject.com/ga/6.1/ref/models/options/
canonical: https://djangodocs.dev/ga/6.1/ref/models/options/
---
# Roghanna múnla `Meta`

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áil

### `teochair`

#### `Options.abstract`

\<abstract-base-classes\>Má tá `abstract = True`, beidh an tsamhail seo an:ref: aicme bonn teibí .

### `app_label`

#### `Options.app_label`

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_name` nó `app_label.model_name` is féidir leat `model a úsáid. _meta.label` nó `samhail. _meta.label_lower` faoi seach.

### `` `ainm_bainisteoir base ``

#### `Options.base_manager_name`

Ainm tréithe an bhainisteora, mar shampla, `'objects`, le húsáid do na samhlach's:attr: ~Django.db.Models.Model. \_bainisteoir bunaisteoir'.

### `db_table`

#### `Options.db_table`

Ainm an tábla bunachar sonraí le húsáid don tsamhail:

```
db_table = "music_album"
```

#### Ainmneacha tábla

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.

> **Úsáid ainmneacha tábla beaga do MariaDB agus MySQL**
>
> Moltar go láidir duit ainmneacha tábla beaga a úsáid nuair a dhéanann tú ainm an tábla a shárú trí db\_table\`, go háirithe má tá cúltaca MySQL á úsáid agat. Féach na:ref: Nótaí MySQL \<mysql-notes\>\`le haghaidh tuilleadh sonraí.

> **Luachan ainm tábla do Oracle**
>
> D'fhonn an teorannú 30-char atá ag Oracle ar ainmneacha tábla a chomhlíonadh, agus na gnáthchoinbhinsiúin do bhunachair sonraí Oracle a mheaitseáil, féadfaidh Django ainmneacha táblaí a ghiorrú agus iad Chun claochlú den sórt sin a chosc, bain úsáid as ainm luaite mar an luach do db\_table\`:
>
> ```
> db_table = '"name_left_in_lowercase"'
> ```
>
> Is féidir ainmneacha luaite den sórt sin a úsáid freisin le cúltaca bunachar sonraí tacaithe eile Django; seachas Oracle, áfach, níl aon éifeacht ag na luachana. Féach in:ref: Nótaí Oracle \<oracle-notes\>\`le haghaidh tuilleadh sonraí.

### db\_table\_comment \`\`

#### `Options.db_table_comment`

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

#### `Options.db_tablespace`

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éamhshocraithe`

#### `Options.default_manager_name`

Ainm an bhainisteora le húsáid do na samhail's:attr: ~django.db.Models.Model. \_bainisteoir réamhshocraithe'.

### `ainm_bhainteach_réamhshocraithe`

#### `Options.default_related_name`

An t-ainm a úsáidfear de réir réamhshocraithe don ghaol ó réad gaolmhar ar ais leis an gceann seo. Is é an réamhshocrú `<model_name>_set`.

Socraíonn an rogha seo freisin: attr: ~ForeignKey.related\_query\_name.

Toisc gur chóir go mbeadh an t-ainm droim ar réimse uathúil, bí cúramach má tá sé ar intinn agat do mhúnla a fho-aicmiú. Chun oibriú timpeall ar imbhuailtí ainmneacha, ba chóir go mbeadh `'% (app_label) s'` agus `` `% (model_name) s' ``, a chuirtear ainm an fheidhmchláir ann an tsamhail in ionad faoi seach, agus ainm an tsamhail, araon níos ísle. \<abstract-related-name\>Féach an mhír ar:ref: ainmneacha gaolmhara do mhúnlaí teibí .

### `faigh_is déanaí_b`

#### `Options.get_latest_by`

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

#### `Options.managed`

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

1. 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.
2. 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 = False` a ú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\_to

#### `Options.order_with_respect_to`

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 `Freagra` le réad `Ceiste`, 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í iolracha `Freagra` gaolmhara ag réad `Ceiste`, tá príomh-eochracha na rudaí `Freagra` gaolmhara sa liosta a thugtar ar ais:

```pycon
>>> question = Question.objects.get(id=1)
>>> question.get_answer_order()
[1, 2, 3]
```

Is féidir ord rudaí `Cheiste` a bhaineann le `Freagra` a shocrú trí liosta de phríomhheochracha `` `Freagra `` a chur isteach:

```pycon
>>> 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í `Freagra` ordaithe ag id\`:

```pycon
>>> answer = Answer.objects.get(id=2)
>>> answer.get_next_in_order()
<Answer: 3>
>>> answer.get_previous_in_order()
<Answer: 1>
```

> **Socraíonn order_with_respect_to an rogha ordú ```ordúna go implíoch**
>
> Go hinmheánach, cuireann `order_with_respect_to` colún réimse/bunachar sonraí breise darb ainm `_order` agus leagann sé an rogha samhail's:attr: ~Options.Ordering leis an réimse seo. Dá bhrí sin, ní féidir `order_with_respect_to` agus `ording` a úsáid le chéile, agus beidh feidhm ag an ordú a chuirtear leis `order_with_respect_to` aon uair a gheobhaidh tú liosta rudaí den tsamhail seo.

> **Athrú ord_with_respect_to**
>
> Toisc go gcuireann `order_with_respect_to` colún nua bunachar sonraí leis, bí cinnte na himirce cuí a dhéanamh agus a chur i bhfeidhm má chuireann tú `order_with_respect_to` nó má athraíonn tú `order_with_respect_to` tar éis do thosaithe:djadmin: migrate.

### ordú \`\`

#### `Options.ordering`

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_date` ag 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)]
```

> **Default ordering and GROUP BY**
>
> In [GROUP BY queries](/ga/6.1/topics/db/aggregation/#aggregation-ordering-interaction) (for example,
> those using [`values()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.values) and [`annotate()`](/ga/6.1/ref/models/querysets/#django.db.models.query.QuerySet.annotate)), the
> default ordering is not applied.

> **Warning**
>
> Ní oibríocht saor in aisce é ordú. Tá costas ar do bhunachar sonraí ag gach réimse a chuireann tú leis an ordú. Cuimsíonn gach eochair eachtrach a chuireann tú leis go hiontach a ordú réamhshocraithe go léir freisin.
>
> Mura bhfuil ordú sonraithe i gceist, cuirtear torthaí ar ais ón mbunachar sonraí in ord neamhshonraithe. Ní ráthaítear ordú áirithe ach amháin nuair a ordaítear é ag sraith réimsí a shainaithníonn gach rud sna torthaí go uathúil. Mar shampla, mura bhfuil réimse ainm uathúil, ní ráthóidh ordú leis go mbeidh rudaí leis an ainm céanna le feiceáil san ord céanna i gcónaí.

### `ceadúnaí`

#### `Options.permissions`

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éamhshocraithe`

#### `Options.default_permissions`

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

### `proxy`

#### `Options.proxy`

\<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éatach`

#### `Options.required_db_features`

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

#### `Options.required_db_vendor`

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áil`

#### `Options.select_on_save`

Determines if Django will use the pre-1.6
[`django.db.models.Model.save()`](/ga/6.1/ref/models/instances/#django.db.models.Model.save) algorithm. The old algorithm
uses `SELECT` to determine if there is an existing row to be updated.
The new algorithm tries an `UPDATE` directly. In some rare cases the
`UPDATE` of an existing row isn't visible to Django. An example is the
PostgreSQL `ON UPDATE` trigger which returns `NULL`. In such cases the
new algorithm will end up doing an `INSERT` even 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()`](/ga/6.1/ref/models/instances/#django.db.models.Model.save) for more about the old and
new saving algorithm.

### Innéacsanna \`\`

#### `Options.indexes`

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éime`

#### `Options.unique_together`

> **Úsáid: Class: .UniqueConstraint leis an rogha: attr: ~Options.Constraints ina ionad.**
>
> [`UniqueConstraint`](/ga/6.1/ref/models/constraints/#django.db.models.UniqueConstraint) provides more functionality than
> `unique_together`. `unique_together` may be deprecated in the
> future.

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í `UNIQUE` san áireamh sa ráiteas `CREATE 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 `ValidationError``` a ardaítear le linn bailíochtaithe samhail nuair a sháraítear an srian.

### srianta \`\`

#### `Options.constraints`

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

#### `Options.verbose_name`

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

#### `Options.verbose_name_plural`

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áin

### `lipéad`

#### `Options.label`

Léiríonn an réad, filleann `app_label.object_name`, m.sh. `` `Polls.question' ``.

### `label_lower`

#### `Options.label_lower`

Léiríonn léiriú an tsamhail, filleann `app_label.model_name`, m.sh. `` `polls.question' ``.
