Skip to content

djangodocs

Django 5.2
  • 6.1 current
  • 6.0
  • 5.2 LTS
Gaeilge
  • English
  • Svenska
  • 简体中文
  • Gaeilge
  • Français
  • 日本語
  • Bahasa Indonesia
  • Italiano
  • Português (Brasil)
  • 한국어
  • Español
  • Ελληνικά
  • Polski
Documentation contents
  • Doiciméid Django
  • Ag tosnú
  • Using Django
  • Treoracha conas
  • Ceisteanna Coitianta Django
  • Tagairt API
    • Iarratais
    • Creat seiceála an chórais
    • API tuairimí rang-bhunaithe ionsuite
    • Cosaint clickjacking
    • Pacáistí contrib
    • Iarratas ar Trasláithreán Cosaint Fholsaíochta
    • Bunachair sonraí
    • django-admin agus manage.py
    • Eisceachtaí Django
    • Láimhseáil comhad
    • Foirmeacha
    • Logáil
    • Meán-earraí
    • Oibríochtaí Imirce
    • Samhla
      • Tagairt réimse múnla
      • Tagairt innéacs múnla
      • Tagairt srianta
      • Mionsamhail _meta API
      • Tagairt rudaí gaolmhara
      • Tagairt aicme múnla
      • Roghanna múnla Meta
      • Tagairt sampla samhail
      • Tagairt API ``QuerySet ``
      • Tagairt API cuardaigh
      • Nathanna ceisteanna
      • Nathanna Coinníollach
      • Feidhmeanna Sonraí
    • Paginator
    • Rudaí iarratais agus freagartha
    • SchemaEditor
    • Socruithe
    • Comharthaí
    • Teimpléid
    • TemplateResponse agus SimpleTemplateResponse
    • Sonraí Unicode
    • Feidhmeanna fóntais ``django.urls ``
    • Feidhmeanna ``django.urls ``le húsáid in URLConfs
    • Úsáideacha Django
    • Bailíochtóirí
    • Radhairc Tógtha
  • Meta-dhoiciméadú agus ilghnéitheacht
  • Gluais
  • Nótaí scaoilte
  • Inmheánacha Django
Irish translation. Contributed by the Django community. 88.6% Help translate
  1. Django 5.2
  2. Tagairt API
  3. Samhla

Tagairt rudaí gaolmharaLink to this heading#

class RelatedManagerLink to this definition#

Is bainisteoir é “bainisteoir gaolmhar” a úsáidtear i gcomhthéacs gaolmhar duine le go leor nó go leor. Tarlaíonn sé seo i dhá chás:

  • An “taobh eile” de a:class: ~Django.db.Models.ForeignKey gaol. Is é sin:

    Code
    from django.db import models
    
    
    class Blog(models.Model):
        # ...
        pass
    
    
    class Entry(models.Model):
        blog = models.ForeignKey(Blog, on_delete=models.CASCADE, null=True)
    

    Sa sampla thuas, beidh na modhanna thíos ar fáil ar an mbainisteoir blog.entry_set.

  • An dá thaobh de a:class: ~Django.db.Models.ManyTomanyField gaol:

    Code
    class Topping(models.Model):
        # ...
        pass
    
    
    class Pizza(models.Model):
        toppings = models.ManyToManyField(Topping)
    

    Sa sampla seo, beidh na modhanna thíos ar fáil ar topping.pizza_set agus ar pizza.toppings`.

add(*objs, bulk=True, through_defaults=None)Link to this definition#
aadd(*objs, bulk=True, through_defaults=None)Link to this definition#

Asynchronous version: aadd

Cuireann sé na rudaí samhail sonraithe leis an tacar réad gaolmhar.

Sampla:

Python console
>>> b = Blog.objects.get(id=1)
>>> e = Entry.objects.get(id=234)
>>> b.entry_set.add(e)  # Associates Entry e with Blog b.

<django.db.models.query.QuerySet.update>Sa sampla thuas, i gcás caidreamh a:class: ~Django.db.Models.ForeignKey, úsáidtear:: meth: `QuerySet.Update () `chun an nuashonrú a dhéanamh. Éilíonn sé seo go ndéanfar na rudaí a shábháil cheana féin.

Is féidir leat an argóint Bulk=False a úsáid chun an bainisteoir gaolmhar an nuashonrú a dhéanamh ina ionad sin trí ghlaoch ar ``e.save () ``.

<django.db.models.query.QuerySet.bulk_create>Ag baint úsáide as add () ``le caidreamh go leor, áfach, ní ghlaofar aon mhodhanna ``save ()` (níl an argóint bulk ann), ach cruthófar na caidrimh ag baint úsáid:meth: QuerySet.bulk_create () `. Más gá duit roinnt loighic saincheaptha a fhorghníomhú nuair a chruthaítear caidreamh, éist leis an gcomhartha: data: `~django.db.models.signals.m2m_changed, a spreagfaidh gníomhartha pre_add agus post_add.

Ní dhúbailt an gaol a úsáid `add () ``ar ghaol atá ann cheana féin, ach spreagfaidh sé comharthaí fós.

Maidir le caidrimh go go leor glacann add () ``le cásanna samhail nó luachanna réimse, eochracha bunscoile de ghnáth, mar argóint ``*objs`.

<intermediary-manytomany>Úsáid an argóint through_defaults` chun luachanna a shonrú do shampla nua:ref: samhail idirmheán, más gá. Is féidir leat glaonna a úsáid mar luachanna sa fhoclóir through_defaults agus déanfar iad a mheas uair amháin sula gcruthófar aon sampla (í) idirmheánach.

create(through_defaults=None, **kwargs)Link to this definition#
acreate(through_defaults=None, **kwargs)Link to this definition#

Asynchronous version: acreate

Cruthaíonn sé réad nua, sábhálann sé agus cuireann sé sa tacar réad gaolmhar é. Tugann an réad nua-chruthaithe ar ais:

Python console
>>> b = Blog.objects.get(id=1)
>>> e = b.entry_set.create(
...     headline="Hello", body_text="Hi", pub_date=datetime.date(2005, 1, 1)
... )

# No need to call e.save() at this point -- it's already been saved.

Tá sé seo coibhéiseach le (ach níos simplí ná):

Python console
>>> b = Blog.objects.get(id=1)
>>> e = Entry(blog=b, headline="Hello", body_text="Hi", pub_date=datetime.date(2005, 1, 1))
>>> e.save(force_insert=True)

Tabhair faoi deara nach gá argóint eochairfhocal an tsamhail a shonrú a shainmhíníonn an caidreamh. Sa sampla thuas, ní chuirimid an paraiméadar blog ``ar aghaidh chuig ``create (). Figireann Django amach gur chóir réimse blog ``réad nua ``Entry a shocrú go b.

<intermediary-manytomany>Úsáid an argóint through_defaults` chun luachanna a shonrú don shampla nua:ref: samhail idirmheán, más gá. Is féidir leat glaonna a úsáid mar luachanna sa fhoclóir through_defaults`.

remove(*objs, bulk=True)Link to this definition#
aremove(*objs, bulk=True)Link to this definition#

Asynchronous version: aremove

Baineann na rudaí samhail sonraithe as an tacar réad gaolmhar:

Python console
>>> b = Blog.objects.get(id=1)
>>> e = Entry.objects.get(id=234)
>>> b.entry_set.remove(e)  # Disassociates Entry e from Blog b.

Cosúil le:meth: add () `, tugtar ``e.save () ``sa sampla thuas chun an nuashonrú a dhéanamh. Ag baint úsáide as `remove () ``le caidreamh go leor, scriosfar na caidrimh ag baint úsáid:meth: `QuerySet.delete () `<django.db.models.query.QuerySet.delete>rud a chiallaíonn nach dtugtar modhanna samhail ``save ()`; éist leis an comhartha: data: ~django.db.models.signals.m2m_changed más mian leat cód saincheaptha a chur i bhfeidhm nuair a scriostar caidreamh.

Maidir le caidrimh go leor glacann remove () ``le cásanna samhail nó luachanna réimse, eochracha príomhúla de ghnáth, mar argóint ``*objs.

Maidir le rudaí: Class: ~Django.db.Models.ForeignKey, níl an modh seo ann ach má tá Null=True. Mura féidir an réimse gaolmhar a shocrú go None (NULL`), ansin ní féidir réad a bhaint as gaol gan é a chur le ceann eile. Sa sampla thuas, tá e` a bhaint as b.entry_set () ``comhionann le ``e.blog = None a dhéanamh, agus toisc nach bhfuil Null=True ag an blog:class: ~django.db.models.foreignKey, tá sé seo neamhbhailí.

Maidir le rudaí: Class: ~Django.db.Models.ForeignKey, glacann an modh seo le argóint bulk chun rialú a dhéanamh conas an oibríocht a dhéanamh. Má tá True (an réamhshocrú), úsáidtear QuerySet.Update () ``. Má tá ``Bulk=false ``, tugtar an modh ``save () de gach samhail aonair ina ionad. Spreagann sé seo comharthaí: ~django.db.models.signals.pre_save agus:data: ~django.db.models.signals.post_save agus tagann sé ar chostas na feidhmíochta.

Maidir le caidrimh go leor, níl an argóint eochairfhocal bulk ann.

clear(bulk=True)Link to this definition#
aclear(bulk=True)Link to this definition#

Leagan asincrón: aclear

Baineann gach rud as an tacar réad gaolmhar:

Python console
>>> b = Blog.objects.get(id=1)
>>> b.entry_set.clear()

Tabhair faoi deara nach scriosann sé seo na rudaí gaolmhara - dícheanglaíonn sé ach iad.

Díreach mar remove () ``, níl `clear () ar fáil ach ar:class: ~django.db.models.foreignKeys ina bhfuil null=true agus glacann sé leis an argóint eochairfhocal bulk freisin.

Maidir le caidrimh go leor, níl an argóint eochairfhocal bulk ann.

set(objs, bulk=True, clear=False, through_defaults=None)Link to this definition#
aset(objs, bulk=True, clear=False, through_defaults=None)Link to this definition#

Leagan asincrón: aset

Cuir an tacar rudaí gaolmhara in ionad:

Python console
>>> new_list = [obj1, obj2, obj3]
>>> e.related_set.set(new_list)

Glacann an modh seo le argóint soiléir ``chun rialú a dhéanamh ar conas an oibríocht a dhéanamh. Má tá ``False (an réamhshocraithe), baintear na heilimintí atá in easnamh ón tacar nua ag baint úsáide as remove () ``agus ní chuirtear ach na cinn nua leis. Má tá ``clear=True, tugtar an modh ``clear () ``ina ionad sin agus cuirtear an tacar iomlán leis ag an am céanna.

Maidir le rudaí: Class: ~Django.db.Models.ForeignKey, cuirtear an argóint bulk ar aghaidh chuig:meth: add agus:meth: remove.

Maidir le caidrimh go leor, níl an argóint eochairfhocal bulk ann.

Tabhair faoi deara ós rud é gur oibríocht chumaisc é set () ``, go bhfuil sé faoi réir coinníollacha cine. Mar shampla, féadfar rudaí nua a chur leis an mbunachar sonraí idir an glao chun ``clear () ``agus an glao chun ``add ().

Maidir le caidrimh go leor glacann set () ``liosta de chásanna samhail nó luachanna réimse, eochracha príomhúla de ghnáth, mar argóint ``objs`.

<intermediary-manytomany>Úsáid an argóint through_defaults` chun luachanna a shonrú do shampla nua:ref: samhail idirmheán, más gá. Is féidir leat glaonna a úsáid mar luachanna sa fhoclóir through_defaults agus déanfar iad a mheas uair amháin sula gcruthófar aon sampla (í) idirmheánach.

Note

Tabhair faoi deara go bhfeidhmíonn add () ``, `aadd (), create () `, acreate ()`, remove () `, aremove ()`, clear () ``, `aclear (), set () `, set ()`, agus aset () ``athruithe láithreach do gach cineál réimsí gaolmhara. Is é sin le rá, ní gá glaoch ar `save () `/``asave () ``ar cheachtar deireadh an chaidrimh.

Má úsáideann t:meth: ~django.db.models.query.queryset.prefetch_related, an add () `, aadd ()`, remove () ``, `aremove (), clear () ``, ``clear (), aclear () `, set ()` agus Glanann modhanna ``aset () ``an taisce réamhfhaighte.

View as Markdown Edit this page on GitHub Official version
PreviousMionsamhail _meta API NextTagairt aicme múnla

An unofficial rendering of the Django documentation.

Not affiliated with or endorsed by the Django Software Foundation. The documentation is copyright © Django Software Foundation and individual contributors, and is used under the BSD 3-Clause licence. “Django” is a trademark of the Django Software Foundation.

This translation is the work of the Django i18n community, not of this site. Read the official documentation at docs.djangoproject.com.

👋 Jason Cartwright