{"title":"Tagairt API ``QuerySet ``","version":"5.2","locale":"ga","docname":"ref/models/querysets","url":"/ga/5.2/ref/models/querysets/","canonical":"https://djangodocs.dev/ga/5.2/ref/models/querysets/","summary":"Déanann an doiciméad seo cur síos ar shonraí an API QuerySet. Tógann sé ar an ábhar a chuirtear i láthair sna treoracha: doc: model agus:doc: ceisteanna…","html":"<h1>Tagairt API <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet ``<a class=\"heading-anchor\" href=\"#queryset-api-reference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Déanann an doiciméad seo cur síos ar shonraí an API <code class=\"docutils literal notranslate\">QuerySet</code>. Tógann sé ar an ábhar a chuirtear i láthair sna treoracha: doc: model agus:doc: ceisteanna bunachar sonraí &lt;/topics/db/models&gt;, mar sin is dócha go mbeidh tú ag iarraidh na do&lt;/topics/db/queries&gt; iciméid sin a léamh agus a thuiscint sula léann tú an ceann seo.</p>\n<p>Le linn na tagartha seo úsáidfimid an:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>samplacha samplaí blag &lt;/topics/db/queries&gt; &lt;queryset-model-example&gt;`a chuirtear i láthair in:doc: <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>treoir fiosrúcháin bunachar sonraithe'.</p>\n<section id=\"when-querysets-are-evaluated\">\n<span id=\"id1\"></span><h2>Nuair a dhéantar meastóireacht a dhéanamh ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet`<a class=\"heading-anchor\" href=\"#when-querysets-are-evaluated\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Go hinmheánach, is féidir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet` a thógáil, a scagadh, a sliseadh, agus a rith timpeall go ginearálta gan an bunachar sonraí a bhualadh i ndáiríre. Ní tharlaíonn aon ghníomhaíocht bunachar sonraí i ndáiríre go dtí go ndéanann tú rud éigin chun an tac</p>\n<p>Is féidir leat <code class=\"docutils literal notranslate\">QuerySet</code> a mheas ar na bealaí seo a leanas:</p>\n<ul>\n<li><p><strong>Aiter.</strong> Tá <code class=\"docutils literal notranslate\">QuerySet</code> in-athraithe, agus déanann sé a cheist bunachar sonraí a fhorghníomhú an chéad uair a dhéanann tú athrá air. Mar shampla, priontóidh sé seo ceannlíne na n-iontrálacha go léir sa bhunachar sonraí:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">for</span> e <span class=\"ow\">in</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">():</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span>e<span class=\"o\">.</span>headline<span class=\"p\">)</span>\n</code></pre></div>\n<p>Nóta: Ná húsáid é seo más mian leat a dhéanamh ach a chinneadh an bhfuil toradh amháin ar a laghad ann. Tá sé níos éifeachtaí úsáid: meth: ~QuerySet.exists.</p>\n</li>\n<li><p><strong>Athrú asincrónaí.</strong> Is féidir <code class=\"docutils literal notranslate\">QuerySet</code> a athrú freisin trí <code class=\"docutils literal notranslate\">async for</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">async</span> <span class=\"k\">for</span> e <span class=\"ow\">in</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">():</span>\n    results<span class=\"o\">.</span>append<span class=\"p\">(</span>e<span class=\"p\">)</span>\n</code></pre></div>\n<p>Tá an taisce bunúsach céanna ag athraitheoirí sioncrónach agus asincrónach de QuerySets.</p>\n</li>\n<li><p><strong>Sliseach.</strong> Mar a mhínítear in:ref: limiting-querysets, is féidir <code class=\"docutils literal notranslate\">QuerySet</code> a sliseadh, ag baint úsáide as comhréiteach slisnú eagair Python. Is gnách go bhfillfidh <code class=\"docutils literal notranslate\">QuerySet</code> neamh-mheasúnaithe <code class=\"docutils literal notranslate\">`QuerySet ``eile gan mheasúnú, ach déanfaidh Django ceist an bhunachar sonraí a fhorghníomhú má úsáideann tú an paraiméadar “céim” de chomhréir sliseanna, agus cuirfidh sé liosta ar ais. Tugann sé liosta freisin ag sliseadh ``QuerySet</code> a rinneadh meastóireacht air.</p>\n<p>Tabhair faoi deara freisin cé go bhfilleann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet` neamh-mheasúnaithe <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a><a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>QuerySet <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>eile neamh-mheasúnaithe, ní cheadaítear é a mhodhnú tuilleadh (m.sh., níos mó scagairí a chur leis, nó ordú a mhodhnú), ós rud é nach aistríonn sé go maith go SQL agus ní bheadh brí soiléir aige ach an oiread.</p>\n</li>\n<li><p><strong>Piccling/Caching.</strong> Féach an chuid seo a leanas le haghaidh sonraí faoin méid a bhfuil i gceist le linn <a class=\"reference internal\" href=\"#pickling-querysets\">Picling QuerySets</a>. Is é an rud tábhachtach chun críocha an chuid seo ná go léitear na torthaí ón mbunachar sonraí.</p></li>\n<li><p><strong>repr () .</strong> Déantar meastóireacht ar <code class=\"docutils literal notranslate\">QuerySet</code> nuair a ghlaonn tú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>repr () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>air. Tá sé seo ar mhaithe le háisiúlacht san ateangaire idirghníomhach Python, ionas gur féidir leat do thorthaí a fheiceáil láithreach agus an API á úsáid idirghníomhach.</p></li>\n<li><p><strong>len () .</strong> Déantar meastóireacht ar <code class=\"docutils literal notranslate\">QuerySet</code> nuair a ghlaonn tú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>len () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>air. Tugann sé seo, mar a d'fhéadfá a bheith ag súil leis, fad an liosta torthaí ar ais.</p>\n<p>Nóta: Mura gá duit ach líon na dtaifid sa tacar a chinneadh (agus mura dteastaíonn na rudaí iarbhír uait), tá sé i bhfad níos éifeachtaí comhaireamh a láimhseáil ag leibhéal an bhunachar sonraí ag baint úsáide as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>SELECT COUNT (*) SQL. Soláthraíonn Django modh a: meth: `~QuerySet.count ar an gcúis seo go beacht.</p>\n</li>\n<li><p><strong>liosta () .</strong> Meastóireacht a chur i bhfeidhm ar <code class=\"docutils literal notranslate\">QuerySet</code> trí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>liosta () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a ghlaoch air. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>entry_list <span class=\"o\">=</span> <span class=\"nb\">list</span><span class=\"p\">(</span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">())</span>\n</code></pre></div>\n</li>\n<li><p><strong>bool () .</strong> Trí thástáil a dhéanamh ar <code class=\"docutils literal notranslate\">QuerySet</code> i gcomhthéacs boolean, mar shampla <code class=\"docutils literal notranslate\">bool () ``, `nó</code>, nó `, and` nó ráiteas <code class=\"docutils literal notranslate\">if</code>, <code class=\"docutils literal notranslate\">a úsáid, is cúis leis an bhfiosrú a fhorghníomhú. Má tá toradh amháin ar a laghad ann, is é an ``QuerySet</code> True`, True`, ar shlí eile <code class=\"docutils literal notranslate\">False</code>. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">if</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;Test&quot;</span><span class=\"p\">):</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;There is at least one Entry with the headline Test&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Nóta: Mura dteastaíonn uait ach a chinneadh an bhfuil toradh amháin ar a laghad ann (agus nach dteastaíonn na rudaí iarbhír uait), tá sé níos éifeachtaí úsáid: meth: ~QuerySet.exists.</p>\n</li>\n</ul>\n<section id=\"pickling-querysets\">\n<span id=\"id2\"></span><h3>Picling <code class=\"docutils literal notranslate\">`QuerySet</code>s<a class=\"heading-anchor\" href=\"#pickling-querysets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Má tá tú: mod: pickle agus <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, cuirfidh sé seo iallach ar na torthaí go léir a luchtú isteach i gcuimhne sula ndéantar piceáil. De ghnáth úsáidtear picling mar réamhtheoir do chaching agus nuair a dhéantar an tacar fiosrúcháin a athluchtú, ba mhaith leat go mbeadh na torthaí i láthair cheana féin agus réidh le húsáid (is féidir le léamh ón mbunachar sonraí roinnt ama a thógáil, ag ruaigeadh cuspóir na caching). Ciallaíonn sé seo nuair a dhíphicfidh tú <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>QuerySet`, go bhfuil na torthaí ann i láthair na huaire gur piceáladh é, seachas na torthaí atá sa bhunachar sonraí faoi láthair.</p>\n<p>Mura dteastaíonn uait ach an fhaisnéis riachtanach a phiocadh chun an <code class=\"docutils literal notranslate\">QuerySet</code> a athchruthú ón mbunachar sonraí níos déanaí, piceáil tréith <code class=\"docutils literal notranslate\">`QuerySet</code> den QuerySet`. Ansin is féidir leat an QuerySet bunaidh a athchruthú (gan aon torthaí luchtaithe) ag baint úsáide as cód éigin mar seo:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">import</span> <span class=\"nn\">pickle</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>query <span class=\"o\">=</span> pickle<span class=\"o\">.</span>loads<span class=\"p\">(</span>s<span class=\"p\">)</span>  <span class=\"c1\"># Assuming &#39;s&#39; is the pickled string.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> MyModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs<span class=\"o\">.</span>query <span class=\"o\">=</span> query  <span class=\"c1\"># Restore the original &#39;query&#39;.</span>\n</code></pre></div>\n<p>Is réad trédhearcach é an tréith <code class=\"docutils literal notranslate\">fiosraithe</code>. Léiríonn sé inmheánacha tógála na fiosrúcháin agus níl sé mar chuid den API poiblí. Mar sin féin, tá sé sábháilte (agus tacaítear go hiomlán) ábhar na tréithe a phiocadh agus a dhíphiocadh mar a thuairiscítear anseo.</p>\n<aside class=\"admonition-restrictions-on-queryset-values-list admonition\" role=\"note\">\n<p class=\"admonition-title\">Srianta ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet.values_List () ``</p>\n<p>Má athchruthaíonn tú: meth: QuerySet.values_list ag baint úsáide as an tréith picilte <code class=\"docutils literal notranslate\">`Query</code>, déanfar é a thiontú u:meth: QuerySet.values:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">import</span> <span class=\"nn\">pickle</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs\n<span class=\"go\">&lt;QuerySet [(1, &#39;Beatles Blog&#39;)]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>reloaded_qs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>reloaded_qs<span class=\"o\">.</span>query <span class=\"o\">=</span> pickle<span class=\"o\">.</span>loads<span class=\"p\">(</span>pickle<span class=\"o\">.</span>dumps<span class=\"p\">(</span>qs<span class=\"o\">.</span>query<span class=\"p\">))</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>reloaded_qs\n<span class=\"go\">&lt;QuerySet [{&#39;id&#39;: 1, &#39;name&#39;: &#39;Beatles Blog&#39;}]&gt;</span>\n</code></pre></div>\n</aside>\n<aside class=\"admonition-you-can-t-share-pickles-between-versions admonition\" role=\"note\">\n<p class=\"admonition-title\">Ní féidir leat picíní a roinnt idir leaganacha</p>\n<p>Pickles of <code class=\"docutils literal notranslate\">QuerySet</code> objects are only valid for the version of Django\nthat was used to generate them. If you generate a pickle using Django\nversion N, there is no guarantee that pickle will be readable with\nDjango version N+1. Pickles should not be used as part of a long-term\narchival strategy.</p>\n<p>Ós rud é go bhféadfadh sé a bheith deacair earráidí comhoiriúnachta picéil a dhiagnóisiú, mar shampla rudaí truaillithe go ciúin, ardaítear <code class=\"docutils literal notranslate\">RuntimeWarning</code> nuair a dhéanann tú iarracht tacar ceisteanna a dhíphiocadh i leagan Django atá difriúil ná an ceann inar piceadh é.</p>\n</aside>\n</section>\n</section>\n<section id=\"queryset-api\">\n<span id=\"id3\"></span><h2>API <code class=\"docutils literal notranslate\">QuerySet</code><a class=\"heading-anchor\" href=\"#queryset-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Seo an dearbhú foirmiúil ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">QuerySet</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">query<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">using<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">hints<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>&lt;chaining-filters&gt;De ghnáth nuair a bheidh tú ag idirghníomhú le <code class=\"docutils literal notranslate\">QuerySet</code> úsáidfidh tú é ag: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>scagairí slabhraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>. Chun an oibriú seo, cuireann an chuid is mó de na modhanna <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>QuerySet <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>ceisteanna nua ar ais. Clúdaítear na modhanna seo go mion níos déanaí sa chuid seo.</p>\n<p>Tá na tréithe poiblí seo a leanas ag an rang <code class=\"docutils literal notranslate\">QuerySet</code> is féidir leat a úsáid le haghaidh ionbhreithniú:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.ordered\">\n<span class=\"sig-name descname\">ordered</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.ordered\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">True</code> má ordaítear an <code class=\"docutils literal notranslate\">QuerySet</code> - ie tá clásal: ord_by () `aige nó ordú réamhshocraithe ar an tsamhail. ``Bréag` ar shlí eile.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.db\">\n<span class=\"sig-name descname\">db</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.db\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An bunachar sonraí a úsáidfear má dhéantar an cheist seo a fhorghníomhú anois.</p>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Tá an paraiméadar <code class=\"docutils literal notranslate\">fiosraithe</code> to:class: QuerySet ann ionas gur féidir le fo-aicmí ceisteanna speisialaithe staid fiosrúcháin inmheánach a athchóiriú. Is léiriú trédhearcach den stát fiosrúcháin sin é luach an pharaiméadair agus níl sé mar chuid d'API poiblí.</p>\n</aside>\n</dd></dl>\n\n<section id=\"methods-that-return-new-querysets\">\n<h3>Modhanna a thugann <code class=\"docutils literal notranslate\">QuerySet</code>s nua ar ais<a class=\"heading-anchor\" href=\"#methods-that-return-new-querysets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Soláthraíonn Django raon modhanna mionscrúdaithe <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a mhodhníonn na cineálacha torthaí a thugann an QuerySet ar ais nó an bealach a fhorghníomhaítear a cheist SQL.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Ní reáchtáil na modhanna seo ceisteanna bunachar sonraí, dá bhrí sin tá siad <strong>sábháilte dó</strong> reáchtáil i gcód asincrónas**, agus níl leaganacha asincrónacha ar leithligh acu.</p>\n</aside>\n<section id=\"filter\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>scagaire () ``<a class=\"heading-anchor\" href=\"#filter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.filter\">\n<span class=\"sig-name descname\">filter</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.filter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann sé <code class=\"docutils literal notranslate\">QuerySet</code> nua ina bhfuil rudaí a mheaitseálann leis na paraiméadair chuardaigh ar leith.</p>\n<p>Ba chóir go mbeadh na paraiméadair chuardaigh (**kwargs `) san fhormáid a thuairiscítear i <a class=\"reference internal\" href=\"#id4\">Cuardach allamui</a> thíos. Ceanglaítear paraiméadair iolracha trí AND` sa ráiteas SQL bunúsach.</p>\n<p>&lt;django.db.models.Q&gt;Más gá duit ceisteanna níos casta a fhorghníomhú (mar shampla, ceisteanna le ráitis OR`), is féidir leat:class: Q earraí `(``*args`) a úsáid.</p>\n</section>\n<section id=\"exclude\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>eisiamh () ``<a class=\"heading-anchor\" href=\"#exclude\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.exclude\">\n<span class=\"sig-name descname\">exclude</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann sé <code class=\"docutils literal notranslate\">QuerySet</code> nua ina bhfuil rudaí nach meaitníon* leis na paraiméadair chuardaigh a thugtar.</p>\n<p>Ba chóir go mbeadh na paraiméadair chuardaigh (**kwargs `) san fhormáid a thuairiscítear i <a class=\"reference internal\" href=\"#id4\">Cuardach allamui</a> thíos. Ceanglaítear paraiméadair iolracha trí AND` sa ráiteas SQL bunúsach, agus tá an rud iomlán faoi iúl i <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>NOT () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<p>Ní chuimsíonn an sampla seo gach iontráil a bhfuil a “pub_date” níos déanaí ná 2005-1-3 AGUS a bhfuil “Dia duit” a ceannlíne `:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>exclude<span class=\"p\">(</span>pub_date__gt<span class=\"o\">=</span>datetime<span class=\"o\">.</span>date<span class=\"p\">(</span><span class=\"mi\">2005</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">),</span> headline<span class=\"o\">=</span><span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>I dtéarmaí SQL, déanann sé meastóireacht ar:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span>\n<span class=\"k\">WHERE</span> <span class=\"k\">NOT</span> <span class=\"p\">(</span>pub_date <span class=\"o\">&gt;</span> <span class=\"s1\">&#39;2005-1-3&#39;</span> <span class=\"k\">AND</span> headline <span class=\"o\">=</span> <span class=\"s1\">&#39;Hello&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ní chuimsíonn an sampla seo gach iontráil a bhfuil a “pub_date” níos déanaí ná 2005-1-3 NÓ a bhfuil a cheannteideal “Dia duit”:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>exclude<span class=\"p\">(</span>pub_date__gt<span class=\"o\">=</span>datetime<span class=\"o\">.</span>date<span class=\"p\">(</span><span class=\"mi\">2005</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">))</span><span class=\"o\">.</span>exclude<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>I dtéarmaí SQL, déanann sé meastóireacht ar:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span>\n<span class=\"k\">WHERE</span> <span class=\"k\">NOT</span> pub_date <span class=\"o\">&gt;</span> <span class=\"s1\">&#39;2005-1-3&#39;</span>\n<span class=\"k\">AND</span> <span class=\"k\">NOT</span> headline <span class=\"o\">=</span> <span class=\"s1\">&#39;Hello&#39;</span>\n</code></pre></div>\n<p>Tabhair faoi deara go bhfuil an dara sampla níos sriantacha.</p>\n<p>&lt;django.db.models.Q&gt;Más gá duit ceisteanna níos casta a fhorghníomhú (mar shampla, ceisteanna le ráitis OR`), is féidir leat:class: Q earraí `(``*args`) a úsáid.</p>\n</section>\n<section id=\"annotate\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>annotate () ``<a class=\"heading-anchor\" href=\"#annotate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.annotate\">\n<span class=\"sig-name descname\">annotate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.annotate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Annotates each object in the <code class=\"docutils literal notranslate\">QuerySet</code> with the provided list of <a class=\"reference internal\" href=\"/ga/5.2/ref/models/expressions/\"><span class=\"doc\">query\nexpressions</span></a> or <a class=\"reference internal\" href=\"#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\">Q</code></a> objects.\nEach object can be annotated with:</p>\n<ul class=\"simple\">\n<li><p>a simple value,  via <code class=\"docutils literal notranslate\">Value()</code>;</p></li>\n<li><p>a reference to a field on the model (or any related models), via <code class=\"docutils literal notranslate\">F()</code>;</p></li>\n<li><p>a boolean, via <code class=\"docutils literal notranslate\">Q()</code>; or</p></li>\n<li><p>a result from an aggregate expression (averages, sums, etc.) computed over\nthe objects that are related to the objects in the <code class=\"docutils literal notranslate\">QuerySet</code>.</p></li>\n</ul>\n<p>Is anótáil é gach argóint le <code class=\"docutils literal notranslate\">annotate () ``a chuirfear le gach rud sa `QuerySet</code> a chuirtear ar ais.</p>\n<p>Déantar cur síos ar na feidhmeanna comhiomlánaithe a sholáthraíonn Django i <a class=\"reference internal\" href=\"#id6\">Feidhmeanna Comhiomlánacha</a> thíos.</p>\n<p>Úsáidfidh anótaí a shonraítear ag baint úsáide as argóintí eochairfhocal an eochairfhocal mar an alias don anótáil Beidh ainm ar argóintí gan ainm a ghintear dóibh bunaithe ar ainm na feidhme chomhiomlán agus ar an réimse samhail atá á chomhiomlánú. Ní féidir ach nathanna comhiomlána a thagraíonn réimse amháin a bheith ina argóintí gan ainm Caithfidh gach rud eile a bheith ina argóint eochairfhocal.</p>\n<p>Mar shampla, má bhí tú ag ionramháil liosta blaganna, b'fhéidir gur mhaith leat a chinneadh cé mhéad iontráil a rinneadh i ngach blag:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Count\n<span class=\"gp\">&gt;&gt;&gt; </span>q <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span>\n<span class=\"go\"># The name of the first blog</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>name\n<span class=\"go\">&#39;Blogasaurus&#39;</span>\n<span class=\"go\"># The number of entries on the first blog</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>entry__count\n<span class=\"go\">42</span>\n</code></pre></div>\n<p>Ní shainmhíníonn an tsamhail <code class=\"docutils literal notranslate\">Blag ``tréith `entry__count</code> leis féin, ach trí argóint eochairfhocal a úsáid chun an fheidhm chomhiomlán a shonrú, is féidir leat ainm na nótaí a rialú:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>q <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>number_of_entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span>\n<span class=\"go\"># The number of entries on the first blog, using the name provided</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>number_of_entries\n<span class=\"go\">42</span>\n</code></pre></div>\n<p>Le haghaidh plé domhain ar chomhiomlánú, féach:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>an treoir ábhair ar Chomhiomlán' &lt;/topics/db/aggregation&gt;.</p>\n</section>\n<section id=\"alias\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>alias () ``<a class=\"heading-anchor\" href=\"#alias\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.alias\">\n<span class=\"sig-name descname\">alias</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.alias\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Mar an gcéanna len:meth: annotate, ach in ionad rudaí a anótáil sa QuerySet `, sábhálann sé an abairt lena n-athúsáid níos déanaí le modhanna <code class=\"docutils literal notranslate\">QuerySet</code> eile. Tá sé seo úsáideach nuair nach bhfuil toradh na léirithe féin ag teastáil ach úsáidtear é chun scagadh, ordú nó mar chuid de léiriú casta. Gan roghnú an luach neamhúsáidte cuirtear obair iomarcach ón mbunachar sonraí agus ba chóir go mbeadh feidhmíocht níos fearr</p>\n<p>Mar shampla, más mian leat blaganna a fháil le níos mó ná 5 iontráil, ach nach bhfuil suim agat i líon cruinn na n-iontrálacha, d'fhéadfá é seo a dhéanamh:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Count\n<span class=\"gp\">&gt;&gt;&gt; </span>blogs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>alias<span class=\"p\">(</span>entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>entries__gt<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is féidir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>alias () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid i gcomhar le:meth: annotate, :meth: eisiú, :meth: filter, :meth: ord_by, agus:meth: nuashonraithe. Chun léiriú ailíseach a úsáid le modhanna eile (e.g.:meth: comhiomlán), ní mór duit é a chur chun cinn go dtí anótáil:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>alias<span class=\"p\">(</span>entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span>annotate<span class=\"p\">(</span>\n    entries<span class=\"o\">=</span>F<span class=\"p\">(</span><span class=\"s2\">&quot;entries&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">)</span><span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Sum<span class=\"p\">(</span><span class=\"s2\">&quot;entries&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Is féidir le: meth: filter agus:meth: order_by abairtí a ghlacadh go díreach, ach is minic nach dtarlaíonn tógáil agus úsáid abairtí san áit chéanna (mar shampla, cruthaíonn modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>abairtí, le húsáid níos déanaí i radhairc). Ligeann <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>alias () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>abairtí casta a thógáil go hinchéimiúil, b'fhéidir go gcuimsíonn modhanna agus modúil iolracha, tagairt a dhéanamh do na codanna abairt de réir a n-ainmneacha agus ní úsáidtear ach: meth: annotate don toradh deiridh.</p>\n</section>\n<section id=\"order-by\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ord_by () ``<a class=\"heading-anchor\" href=\"#order-by\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.order_by\">\n<span class=\"sig-name descname\">order_by</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.order_by\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>De réir réamhshocraithe, ordaítear na torthaí a chuirtear ar ais ag QuerySet tríd an tuple ordaithe a thugann an rogha <code class=\"docutils literal notranslate\">ordú ``i `Meta</code> an tsamhail. Is féidir leat é seo a shárú ar bhonn Per-<code class=\"docutils literal notranslate\">QuerySet</code> tríd an modh <code class=\"docutils literal notranslate\">order_by</code> a úsáid.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span><span class=\"mi\">2005</span><span class=\"p\">)</span><span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;-pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ordófar an toradh thuas ag <code class=\"docutils literal notranslate\">pub_date ``ag dul síos, ansin ag ``ceannlíne</code> ag ardú. Léiríonn an comhartha diúltach os comhair <code class=\"docutils literal notranslate\">” -pub_date “</code> ordú* síos. Tá ord ardaitheach intuigthe. Chun ordú go randamach, bain úsáid as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>”?” <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, mar sin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;?&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Nóta: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>order_by ('?') D'fhéadfadh ceisteanna <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a bheith daor agus mall, ag brath ar an gcúltaca bunachar sonraí atá á úsáid agat.</p>\n<p>Chun ordú de réir réimse i samhail dhifriúil, bain úsáid as an gcomhréir céanna agus nuair a bhíonn tú ag fiosrú ar fud caidrimh mhúnla. Is é sin, ainm an réimse, ina dhiaidh sin béim dúbailte (__`), agus ainm an réimse sa tsamhail nua ina dhiaidh sin, agus mar sin de do an oiread samhlacha agus is mian leat páirt a ghlacadh. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog__name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>&lt;django.db.models.Options.ordering&gt;Má dhéanann tú iarracht ordú de réir réimse a bhaineann le samhail eile, úsáidfidh Django an t-ordú réamhshocraithe ar an tsamhail ghaolmhar, nó ordú de réir phríomh-eochair an tsamhail ghaolmhar mura bhfuil aon: attr: Meta.Ordering `sonraithe. Mar shampla, ós rud é nach bhfuil aon ordú réamhshocraithe sonraithe sa tsamhail ``Blog`:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>... comhionann le:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog__id&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Dá mbeadh <code class=\"docutils literal notranslate\">ordú = ['ainm'] ``ag `Blog</code>, ansin bheadh an chéad tacar ceisteanna comhionann le:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog__name&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is féidir leat ordú freisin trí:doc: léirithe fiosraithe trí ghlaoch ar: meth: ~.Expression.asc nó&lt;/ref/models/expressions&gt; :meth: ~.Expression.desc ar an abairt:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span>Coalesce<span class=\"p\">(</span><span class=\"s2\">&quot;summary&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>desc<span class=\"p\">())</span>\n</code></pre></div>\n<p>Tá argóintí ag: meth: ~.Expression.asc agus:meth: ~.Expression.desc (<code class=\"docutils literal notranslate\">nulls_first</code> agus <code class=\"docutils literal notranslate\">nulls_last</code>) a rialaíonn an chaoi a ndéantar luachanna null a shórtáil.</p>\n<p>Bí cúramach agus tú ag ordú de réir réimsí i samhlacha gaolmhara má tá tú ag úsáid freisin: meth: different () `. Féach an nóta in:meth: `distint le haghaidh míniú ar an gcaoi ar féidir le hordú samhail gaolmhar na torthaí a bhfuil súil leo a athrú.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Tá sé ceadaithe réimse illuachmhara a shonrú chun na torthaí a ordú trí (mar shampla, a:class: réimse ~django.db.models.manyToManyField, nó an gaol droim a: réimse a:class: ~Django.db.Models.ForeignKey).</p>\n<p>Smaoinigh ar an gcás seo:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span> <span class=\"nc\">Event</span><span class=\"p\">(</span>Model<span class=\"p\">):</span>\n    parent <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        <span class=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">,</span>\n        related_name<span class=\"o\">=</span><span class=\"s2\">&quot;children&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    date <span class=\"o\">=</span> models<span class=\"o\">.</span>DateField<span class=\"p\">()</span>\n\n\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;children__date&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Anseo, d'fhéadfadh go mbeadh sonraí iolracha ordaithe ann do gach <code class=\"docutils literal notranslate\">Imeacht ``; cuirfear gach ``Imeacht</code> le leana` iolracha ar ais go leor uaireanta isteach sa <code class=\"docutils literal notranslate\">QuerySet</code> nua a chruthaíonn <code class=\"docutils literal notranslate\">order_by () ``. Is é sin le rá, d'fhéadfadh go n-úsáidtear ``order_by () ``ar an `QuerySet</code> níos mó earraí a thabhairt ar ais ná mar a bhí tú ag obair orthu chun tús a chur leis - rud nach bhfuil súil leis ná úsáideach is dócha.</p>\n<p>Mar sin, bí cúramach agus réimse illuachmhara á úsáid agat chun na torthaí a ordú. <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">**</span></a>Más féidir leat a bheith cinnte nach mbeidh ach píosa sonraí amháin ag ordú do gach ceann de na míreanna atá á ordú agat, níor cheart go mbeadh fadhbanna ag an gcur chuige seo. Mura bhfuil, déan cinnte gurb iad na torthaí an rud a bhfuil súil agat leo.</p>\n</aside>\n<p>Níl aon bhealach ann chun a shonrú an chóir go mbeadh ordú íogair ó cháis. Maidir le cás-íogaireacht, ordóidh Django torthaí ach is gnách go n-ordóidh do chúlcheann bunachar sonraí iad.</p>\n<p>Is féidir leat ordú trí réimse a thiontú go litreacha beaga le:class: ~django.db.models.functions.lower a bhaint amach ordú comhsheasmhach cás-chomhsheasmhach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span>Lower<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>desc<span class=\"p\">())</span>\n</code></pre></div>\n<p>Mura dteastaíonn uait go gcuirfí aon ordú i bhfeidhm ar cheist, ní fiú an t-ordú réamhshocraithe, glaoigh ar: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>order_by () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>gan aon pharaiméadair.</p>\n<p>Is féidir leat a rá an bhfuil ceist ordaithe nó nach bhfuil tríd an tréith: attr: .querySet.Ordered a sheiceáil, a bheidh ina <code class=\"docutils literal notranslate\">True</code> má ordaíodh an <code class=\"docutils literal notranslate\">QuerySet</code> ar bhealach ar bith.</p>\n<p>Glanfaidh gach glao <code class=\"docutils literal notranslate\">order_by () ``aon ordú roimhe seo. Mar shampla, ordófar an cheist seo ag ``pub_date</code> agus ní <code class=\"docutils literal notranslate\">headline</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>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.</p>\n<p>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 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ainm <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>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í.</p>\n</aside>\n</section>\n<section id=\"reverse\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>droim () `<a class=\"heading-anchor\" href=\"#reverse\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.reverse\">\n<span class=\"sig-name descname\">reverse</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.reverse\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Úsáid an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>reverse () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>chun an t-ord ina gcuirtear eilimintí tacar fiosrúcháin ar ais a aisiompú. Athchógann glaoch ar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>reverse () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>an dara huair an t-ordú ar ais go dtí an gnáththreo.</p>\n<p>Chun na cúig mhír “deireanach” a aisghabháil i tacar fiosrúcháin, d'fhéadfá seo a dhéanamh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>my_queryset<span class=\"o\">.</span>reverse<span class=\"p\">()[:</span><span class=\"mi\">5</span><span class=\"p\">]</span>\n</code></pre></div>\n<p>Tabhair faoi deara nach bhfuil sé seo mar an gcéanna le slisnú ó dheireadh seicheamh i Python. Tabharfaidh an sampla thuas an mír deireanach ar ais ar dtús, ansin an mír leathdheiridh agus mar sin de. Dá mbeadh seicheamh Python againn agus dá bhféachfaimis ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>seq [-5:] <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, feicfimid an cúigiú mír deireanach ar dtús. Ní thacaíonn Django leis an modh rochtana sin (slisnú ón deireadh), toisc nach féidir é a dhéanamh go héifeachtúil i SQL.</p>\n<p>Chomh maith leis sin, tabhair faoi deara nach gcaithfear reverse () ``a ghlaoch de ghnáth ach ar ``QuerySet` a bhfuil ordú sainmhínithe aige (m.sh., agus tú ag fiosrú i gcoinne samhail a shainmhíníonn ordú réamhshocraithe, nó nuair a úsáidtear: meth: order_by () `). Mura sainmhínítear aon ordú den sórt sin le haghaidh ``QuerySet ar leith, níl aon éifeacht fhíor ag glaoch ar <code class=\"docutils literal notranslate\">reverse () ``air (ní raibh an t-ordú neamhshainithe sula nglaoigh ar ``reverse ()</code>, agus fanfaidh sé gan sainmhíniú ina dhiaidh sin).</p>\n</section>\n<section id=\"distinct\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>difriúil () ``<a class=\"heading-anchor\" href=\"#distinct\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.distinct\">\n<span class=\"sig-name descname\">distinct</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann <code class=\"docutils literal notranslate\">QuerySet</code> nua a úsáideann <code class=\"docutils literal notranslate\">SELECT DISTINCT</code> ina cheist SQL. Cuireann sé seo deireadh le sraitheanna dúblacha ó thorthaí na gce</p>\n<p>De réir réamhshocraithe, ní chuirfidh QuerySet ``deireadh le sraitheanna dúblacha. Go praiticiúil, is annamh a bhíonn sé seo ina fhadhb, toisc nach dtugann ceisteanna simplí mar `Blog.Objects.all () `isteach an fhéidearthacht sraitheanna torthaí dúblacha. Mar sin féin, má chuimsíonn d'fhiosrúchán iolrthaí táblaí, is féidir torthaí dúblacha a fháil nuair a dhéantar “QuerySet” a mheas. Sin nuair a úsáideann tú ``difriúil () `.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Tá aon réimsí a úsáidtear i nglao an:meth: order_by san áireamh sna colúin SQL <code class=\"docutils literal notranslate\">SELECT</code>. Uaireanta d'fhéadfadh torthaí gan choinne a bheith mar thoradh air seo nuair a úsáidtear iad i gcomhar le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>difriúil () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Má ordaíonn tú de réir réimsí ó mhúnla gaolmhar, cuirfear na réimsí sin leis na colúin roghnaithe agus féadfaidh siad a bheith cosúil go bhfuil sraitheanna dúblacha ar leith ar shlí eile. Ós rud é nach bhfuil na colúin bhreise le feiceáil sna torthaí ar ais (níl siad ann ach chun tacú le hordú), is cosúil go bhfuil torthaí neamh-shainiúla á thabhairt ar ais uaireanta.</p>\n<p>Ar an gcaoi chéanna, má úsáideann tú fiosrúchán a:meth: values () `chun srian a chur ar na colúin a roghnaíodh, beidh baint fós ag na colúin a úsáidtear in aon: meth: `order_by () (nó ordú samhail réamhshocraithe) agus féadfaidh siad dul i bhfeidhm ar uathúlacht na dtorthaí.</p>\n<p>Is é an moráltacht anseo má tá tú ag úsáid <code class=\"docutils literal notranslate\">()</code> bí cúramach faoi ordú de réir samhlacha gaolmhara. Ar an gcaoi chéanna, agus tú ag úsáid <code class=\"docutils literal notranslate\">()</code> agus:meth: luachanna () `le chéile, bí cúramach agus tú ag ordú de réir réimsí nach bhfuil sa ghlao:meth: `values ().</p>\n</aside>\n<p>Ar PostgreSQL amháin, is féidir leat argóintí seasaimh (*réimsí `) a rith d'fhonn ainmneacha na réimsí ar chóir go mbeadh feidhm ag an <code class=\"docutils literal notranslate\">DISTINCT</code> a shonrú. Aistríonn sé seo go fiosrúchán SQL <code class=\"docutils literal notranslate\">SELECT DISTINCT ON</code>. Seo an difríocht. Maidir le gnáthghlao <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>difriúil () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, déanann an bunachar sonraí comparáid idir <em>gach réimse</em> i ngach sraith agus iad ag cinneadh cé na sraitheanna atá ar leith. Maidir le glao <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>difriúil () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>le hainmneacha réimse sonraithe, ní dhéanfaidh an bunachar sonraí ach comparáid idir na hainmneacha réimse sonraithe.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Nuair a shonraíonn tú ainmneacha réimse, ní mór duit* <code class=\"docutils literal notranslate\">order_by () ``a sholáthar sa ``QuerySet</code>, agus ní mór do na réimsí i order_by ()` tosú leis na réimsí i <code class=\"docutils literal notranslate\">()</code>, san ord céanna.</p>\n<p>Mar shampla, tugann <code class=\"docutils literal notranslate\">SELECT DISTINCT ON (a) ``an chéad tsraith duit do gach luach i gcolún ``a</code>. Mura ndéanann tú ordú a shonrú, gheobhaidh tú sraith treallach éigin.</p>\n</aside>\n<p>Samplaí (ní oibreoidh iad siúd tar éis an chéad cheann ach ar PostgreSQL):</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Author<span class=\"o\">.</span>objects<span class=\"o\">.</span>distinct<span class=\"p\">()</span>\n<span class=\"go\">[...]</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[...]</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[...]</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;author&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;author&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[...]</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog__name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;mod_date&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;blog__name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;mod_date&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[...]</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;author&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;author&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[...]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Coinnigh i gcuimhne go n-úsáideann: meth: order_by aon ordú samhail ghaolmhara réamhshocraithe atá sainmhínithe. B'fhéidir go mbeidh ort ordú go sainráite de réir an ghaol <code class=\"docutils literal notranslate\">_id</code> nó réimse tagartha chun a chinntiú go n-oireann na nathanna <code class=\"docutils literal notranslate\">DISTINCT ON</code> iad siúd ag tús an chlásal <code class=\"docutils literal notranslate\">ORDER BY ``. Mar shampla, má shainmhíníodh an tsamhail ``Blog</code> an:attr: ~Django.db.Models.Options.Ordering le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ainm <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>... ní oibreodh toisc go ndéanfaí an cheist a ordú ag <code class=\"docutils literal notranslate\">blog__name</code> agus ar an gcaoi sin mímheaitseáil an abairt <code class=\"docutils literal notranslate\">DISTINCT ON</code>. Bheadh ort ordú go sainráite de réir réimse gaolmhar <code class=\"docutils literal notranslate\">_id</code> (<code class=\"docutils literal notranslate\">blog_id</code> sa chás seo) nó an ceann tagartha (<code class=\"docutils literal notranslate\">blog__pk</code>) chun a chinntiú go n-oireann an dá abairt.</p>\n</aside>\n</section>\n<section id=\"values\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>luachanna () ``<a class=\"heading-anchor\" href=\"#values\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.values\">\n<span class=\"sig-name descname\">values</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em>, <em class=\"sig-param\"><span class=\"o\">**</span>expressions</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.values\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tugann “QuerySet” ar ais foclóirí, seachas cásanna samhlacha, nuair a úsáidtear é mar athrá.</p>\n<p>Léiríonn gach ceann de na foclóirí sin réad, agus na heochracha a fhreagraíonn d'ainmneacha tréithe rudaí samhail.</p>\n<p>Déanann an sampla seo comparáid idir foclóirí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>luachanna () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>leis na gnáth-rudaí samhail:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"go\"># This list contains a Blog object.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;Beatles&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Blog: Beatles Blog&gt;]&gt;</span>\n\n<span class=\"go\"># This list contains a dictionary.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;Beatles&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>values<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [{&#39;id&#39;: 1, &#39;name&#39;: &#39;Beatles Blog&#39;, &#39;tagline&#39;: &#39;All the latest Beatles news.&#39;}]&gt;</span>\n</code></pre></div>\n<p>Glacann an modh <code class=\"docutils literal notranslate\">luachanna () ``argóintí suíomhanna roghnacha, ``*réimsí</code>, a shonraíonn ainmneacha réimse ar chóir an <code class=\"docutils literal notranslate\">SELECT</code> a theorannú dóibh. Má shonraíonn tú na réimsí, ní bheidh i ngach foclóir ach na heochair/luachanna réimse do na réimsí a shonraíonn tú. Mura sonraíonn tú na réimsí, beidh eochair agus luach i ngach foclóir do gach réimse sa tábla bunachar sonraí.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [{&#39;id&#39;: 1, &#39;name&#39;: &#39;Beatles Blog&#39;, &#39;tagline&#39;: &#39;All the latest Beatles news.&#39;}]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;id&#39;: 1, &#39;name&#39;: &#39;Beatles Blog&#39;}]&gt;</span>\n</code></pre></div>\n<p>Glacann an modh <code class=\"docutils literal notranslate\">luachanna () ``argóintí eochairfhocal roghnacha freisin, ``**léiritheach</code>, a chuirtear trí:meth: annotate:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models.functions</span> <span class=\"kn\">import</span> Lower\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span>lower_name<span class=\"o\">=</span>Lower<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [{&#39;lower_name&#39;: &#39;beatles blog&#39;}]&gt;</span>\n</code></pre></div>\n<p>Is féidir leat úsáid a bhaint as ionsuite agus: doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>cuardach saincheapaithe' ag ordú &lt;/howto/custom-lookups&gt;. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> CharField\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models.functions</span> <span class=\"kn\">import</span> Lower\n<span class=\"gp\">&gt;&gt;&gt; </span>CharField<span class=\"o\">.</span>register_lookup<span class=\"p\">(</span>Lower<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;name__lower&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;name__lower&#39;: &#39;beatles blog&#39;}]&gt;</span>\n</code></pre></div>\n<p>Cuirtear comhiomlán laistigh de chlásal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>luachanna () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>i bhfeidhm roimh argóintí eile laistigh den chlásal <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>luachanna () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>céanna. Más gá duit grúpáil de réir luach eile, cuir é le clásal “luachanna ()” níos luaithe ina ionad. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Count\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors&quot;</span><span class=\"p\">,</span> entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [{&#39;entry__authors&#39;: 1, &#39;entries&#39;: 20}, {&#39;entry__authors&#39;: 1, &#39;entries&#39;: 13}]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>annotate<span class=\"p\">(</span>entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [{&#39;entry__authors&#39;: 1, &#39;entries&#39;: 33}]&gt;</span>\n</code></pre></div>\n<p>Cúpla caolchúrsaíocht is fiú a lua:</p>\n<ul>\n<li><p>Má tá réimse agat darb ainm foo` is é sin a:class: ~django.db.models.foreignKey, cuirfidh an glao réamhshocraithe <code class=\"docutils literal notranslate\">values () ``ar ais eochair foclóra ar a dtugtar ``foo_id</code>, ós rud é seo ainm an tréith samhail i bhfolach a stóráil an luach iarbhír (tagraíonn an tréith foo' don tsamhail ghaolmhar). Nuair a bhíonn tú ag glaoch ar `luachanna () ``agus ag dul isteach ainmneacha réimse, is féidir leat dul isteach ``foo` nó <code class=\"docutils literal notranslate\">foo_id</code> agus gheobhaidh tú an rud céanna ar ais (meaitneoidh an eochair foclóra leis an ainm réimse a chuaigh tú isteach).</p>\n<p>Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [{&#39;blog_id&#39;: 1, &#39;headline&#39;: &#39;First Entry&#39;, ...}, ...]&gt;</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;blog&#39;: 1}, ...]&gt;</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;blog_id&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;blog_id&#39;: 1}, ...]&gt;</span>\n</code></pre></div>\n</li>\n<li><p>Agus luachanna () `á n-úsáid agat in éineacht le:meth: `different (), bí ar an eolas go bhféadfadh ordú dul i bhfeidhm ar na torthaí. Féach an nóta in:meth: distint le haghaidh sonraí.</p></li>\n<li><p>Má úsáideann tú clásal <code class=\"docutils literal notranslate\">luachanna () ``tar éis glao:meth: `extra () `, ní mór aon réimsí a shainmhínítear le argóint ``roghnaithe</code> sa :meth: extra () a chur san áireamh go sainráite sa ghlao <code class=\"docutils literal notranslate\">luachanna ()</code>. Déanfar neamhaird ar a réimsí breise roghnaithe aon: Meth: extra () `a dhéantar tar éis glao ``values () `.</p></li>\n<li><p>Níl ciall ag glaoch: Meth: only () `agus:meth: `diafer () tar éis <code class=\"docutils literal notranslate\">luachanna () ``, agus mar sin déanfar amhlaidh ardóidh ``typeError</code>.</p></li>\n<li><p>Éilíonn claochruithe agus comhiomlánaithe a chur le chéile dhá ghlaonna: meth: annotate a úsáid, go sainráite nó mar argóintí eochairfhocal chuig:meth: luacha. Mar atá thuas, má tá an claochlú cláraithe ar an gcineál réimse ábhartha is féidir an chéad:meth: annotate a fhágáil, dá bhrí sin tá na samplaí seo a leanas coibhéiseach:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> CharField<span class=\"p\">,</span> Count\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models.functions</span> <span class=\"kn\">import</span> Lower\n<span class=\"gp\">&gt;&gt;&gt; </span>CharField<span class=\"o\">.</span>register_lookup<span class=\"p\">(</span>Lower<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors__name__lower&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>annotate<span class=\"p\">(</span>entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [{&#39;entry__authors__name__lower&#39;: &#39;test author&#39;, &#39;entries&#39;: 33}]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span>entry__authors__name__lower<span class=\"o\">=</span>Lower<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors__name&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span>annotate<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;entry__authors__name__lower&#39;: &#39;test author&#39;, &#39;entries&#39;: 33}]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>entry__authors__name__lower<span class=\"o\">=</span>Lower<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors__name&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span>values<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;entry__authors__name__lower&quot;</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span>annotate<span class=\"p\">(</span>entries<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [{&#39;entry__authors__name__lower&#39;: &#39;test author&#39;, &#39;entries&#39;: 33}]&gt;</span>\n</code></pre></div>\n</li>\n</ul>\n<p>Tá sé úsáideach nuair a fhios agat nach mbeidh luachanna ag teastáil uait ach ó líon beag de na réimsí atá ar fáil agus ní bheidh feidhmiúlacht réad samhail de dhíth ort. Tá sé níos éifeachtaí ach na réimsí a theastaíonn uait a úsáid a roghnú.</p>\n<p>Mar fhocal scoir, tabhair faoi deara gur féidir leat glaoch ar <code class=\"docutils literal notranslate\">filter () ``, `order_by ()</code>, srl. Tar éis an ghlao <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>values () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, ciallaíonn sin go bhfuil an dá ghlao seo comhionann:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">()</span><span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">)</span>\nBlog<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>values<span class=\"p\">()</span>\n</code></pre></div>\n<p>Is fearr leis na daoine a rinne Django na modhanna go léir a théann i bhfeidhm ag SQL a chur ar dtús, agus aon mhodhanna a théann i bhfeidhm ag aschur (mar shampla <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>luachanna () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>) ina dhiaidh sin (roghnach), ach níl sé tábhachtach i ndáiríre. Is é seo do sheans do dhaoine aonair a thaispeáint i ndáiríre.</p>\n<p>Is féidir leat tagairt a dhéanamh freisin do réimsí ar mhúnlaí gaolmhara le caidreamh droim trí thréithe <code class=\"docutils literal notranslate\">OneTooneField</code>, ForeignKey` agus <code class=\"docutils literal notranslate\">ManyTomanyField</code>:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;entry__headline&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [{&#39;name&#39;: &#39;My blog&#39;, &#39;entry__headline&#39;: &#39;An entry&#39;},</span>\n<span class=\"go\">     {&#39;name&#39;: &#39;My blog&#39;, &#39;entry__headline&#39;: &#39;Another entry&#39;}, ...]&gt;</span>\n</code></pre></div>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Toisc go bhféadfadh sraitheanna gaolmhara iolracha a bheith ag tréithe agus caidrimh droim: ~django.db.models.manyToManyField agus caidrimh droim, lena n-áirítear is féidir leo seo éifeacht iolraitheach a bheith acu ar mhéid do thraith torthaí. Cuirfear é seo a fhuaimniú go háirithe má chuireann tú réimsí den sórt sin san áireamh i d'fhiosrúchán <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>luachanna () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, agus sa chás sin cuirfear gach teaglaim féideartha ar ais.</p>\n</aside>\n<aside class=\"admonition-special-values-for-jsonfield-on-sqlite admonition\" role=\"note\">\n<p class=\"admonition-title\">Luachanna speisialta do <code class=\"docutils literal notranslate\">JSONField</code> ar SQLite</p>\n<p>Mar gheall ar an mbealach a chuirtear feidhmeanna SQL JSON_EXTRACT` agus <code class=\"docutils literal notranslate\">JSON_TYPE</code> i bhfeidhm ar SQLite, agus easpa an chineál sonraí BOOLEAN`, cuirfidh luachanna () ``ar ais `True`, False`, agus <code class=\"docutils literal notranslate\">None</code> in ionad <code class=\"docutils literal notranslate\">true&quot;</code>, agus Athraíonn eochair teaghráin <code class=\"docutils literal notranslate\">&quot;null&quot;</code> d'aicme: ~django.db.models.jsonField.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p>The <code class=\"docutils literal notranslate\">SELECT</code> clause generated when using <code class=\"docutils literal notranslate\">values()</code> was updated to\nrespect the order of the specified <code class=\"docutils literal notranslate\">*fields</code> and <code class=\"docutils literal notranslate\">**expressions</code>.</p>\n</aside>\n</section>\n<section id=\"values-list\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>liosta_luachanna () ``<a class=\"heading-anchor\" href=\"#values-list\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.values_list\">\n<span class=\"sig-name descname\">values_list</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em>, <em class=\"sig-param\">flat<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">named<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.values_list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tá sé seo cosúil le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>luachanna () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ach amháin go bhfilleann sé foclóirí ar ais, seachas foclóirí a thabhairt ar ais, nuair a dhéantar iad a athrá. Cuimsíonn gach tuple an luach ón réimse nó an abairt faoi seach a chuirtear isteach sa ghlao <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>values_list () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>- mar sin is é an chéad mhír an chéad réimse, srl. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [(1, &#39;First entry&#39;), ...]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models.functions</span> <span class=\"kn\">import</span> Lower\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">,</span> Lower<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [(1, &#39;first entry&#39;), ...]&gt;</span>\n</code></pre></div>\n<p>Mura dtéann tú ach i réimse amháin, is féidir leat dul isteach sa pharaiméadar <code class=\"docutils literal notranslate\">flat</code> freisin. Má tá “Fíor”, ciallaíonn sé seo gur luachanna aonair iad na torthaí ar ais, seachas 1-tuples. Ba chóir go ndéanfadh sampla an difríocht níos soiléire:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet[(1,), (2,), (3,), ...]&gt;</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">,</span> flat<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span><span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [1, 2, 3, ...]&gt;</span>\n</code></pre></div>\n<p>Is earráid é dul isteach i <code class=\"docutils literal notranslate\">flat</code> nuair a bhíonn níos mó ná réimse amháin ann.</p>\n<p>Is féidir leat <code class=\"docutils literal notranslate\">named=true</code> a rith chun torthaí a fháil mar a:func: ~python:collections.namedtuple:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;id&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> named<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [Row(id=1, headline=&#39;First entry&#39;), ...]&gt;</span>\n</code></pre></div>\n<p>Má úsáidtear tuple ainmnithe, d'fhéadfadh úsáid a bhaint as na torthaí níos inléite, ar chostas pionós feidhmíochta beag as na torthaí a athrú go tuple ainmnithe.</p>\n<p>Mura gcuireann tú aon luachanna ar aghaidh chuig values_list () `, cuirfidh sé na réimsí go léir sa tsamhail ar ais, san ord a dearbhíodh iad.</p>\n<p>Is é riachtanas coitianta luach réimse sonrach a fháil de shampla samhail áirithe. Chun é sin a bhaint amach, bain úsáid as values_list () ``agus glao ``get ()` ina dhiaidh sin:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> flat<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">(</span>pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;First entry&#39;</span>\n</code></pre></div>\n<p>Tá <code class=\"docutils literal notranslate\">luachanna () ``agus `values_list ()</code> beartaithe araon mar bharrfheabhsú do chás úsáide ar leith: fo-thacar sonraí a aisghabháil gan an lascaire a bhaineann le samhail samhail a chruthú. Titeann an meafar seo óna chéile agus tú ag déileáil le caidrimh illuachmhar agus caidrimh illuachmhar eile (mar shampla gaol duine le go leor eochair eachtrach droim) toisc nach bhfuil an toimhde “aon tsraith, rud amháin”.</p>\n<p>Mar shampla, tabhair faoi deara an t-iompar agus tú ag fiosrú ar fud a:class: ~django.db.models.manyToManyField:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Author<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;entry__headline&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [(&#39;Noam Chomsky&#39;, &#39;Impressions of Gaza&#39;),</span>\n<span class=\"go\"> (&#39;George Orwell&#39;, &#39;Why Socialists Do Not Believe in Fun&#39;),</span>\n<span class=\"go\"> (&#39;George Orwell&#39;, &#39;In Defence of English Cooking&#39;),</span>\n<span class=\"go\"> (&#39;Don Quixote&#39;, None)]&gt;</span>\n</code></pre></div>\n<p>Tá údair le hiontrálacha iolracha le feiceáil arís agus uaireanta agus tá <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>None <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ag údair gan aon iontrálacha don cheannlíne iontrála.</p>\n<p>Ar an gcaoi chéanna, nuair a fhiosraítear eochair eachtrach droim, tá <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>None <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le feiceáil le haghaidh iontrálacha nach bhfuil aon údar acu:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;authors&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [(&#39;Noam Chomsky&#39;,), (&#39;George Orwell&#39;,), (None,)]&gt;</span>\n</code></pre></div>\n<aside class=\"admonition-special-values-for-jsonfield-on-sqlite admonition\" role=\"note\">\n<p class=\"admonition-title\">Luachanna speisialta do <code class=\"docutils literal notranslate\">JSONField</code> ar SQLite</p>\n<p>Mar gheall ar an mbealach a chuirtear feidhmeanna SQL <code class=\"docutils literal notranslate\">JSON_EXTRACT</code> agus <code class=\"docutils literal notranslate\">JSON_TYPE</code> i bhfeidhm ar SQLite, agus easpa an chineál sonraí <code class=\"docutils literal notranslate\">BOOLEAN</code>, cuirfidh values_list () ``ar ais `True`, False`, agus <code class=\"docutils literal notranslate\">None</code> in ionad <code class=\"docutils literal notranslate\">true&quot;</code>, bréag` , agus teaghráin `&quot;null&quot;`` le haghaidh: aicme: ~django.db.models.jsonField eochair athraitheacha.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p>The <code class=\"docutils literal notranslate\">SELECT</code> clause generated when using <code class=\"docutils literal notranslate\">values_list()</code> was updated to\nrespect the order of the specified <code class=\"docutils literal notranslate\">*fields</code>.</p>\n</aside>\n</section>\n<section id=\"dates\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>dátaí () ``<a class=\"heading-anchor\" href=\"#dates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.dates\">\n<span class=\"sig-name descname\">dates</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">field</em>, <em class=\"sig-param\">kind</em>, <em class=\"sig-param\">order<span class=\"o\">=</span><span class=\"default_value\">'ASC'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.dates\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann <code class=\"docutils literal notranslate\">QuerySet</code> a mheastóidh ar liosta d':class: datetime.date rudaí a léiríonn gach dáta atá ar fáil de chineál áirithe laistigh d'ábhar an <code class=\"docutils literal notranslate\">QuerySet</code>.</p>\n<p>Ba chóir go mbeadh <code class=\"docutils literal notranslate\">réimse ``mar ainm ``Datefield</code> de do mhúnla. Ba chóir go mbeadh <code class=\"docutils literal notranslate\">cineál</code> <code class=\"docutils literal notranslate\">blian&quot;</code>, &quot;míos&quot;`, &quot;seachtaine&quot;`, nó <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&quot;lá” <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Gach duine: Class: “datetime.date” réad sa liosta torthaí “gearrtha” go dtí an <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>cineál <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>tugtar.</p>\n<ul class=\"simple\">\n<li><p>Tugann <code class=\"docutils literal notranslate\">&quot;bliain&quot;</code> liosta de na luachanna bliana ar leith uile don réimse.</p></li>\n<li><p>Tugann <code class=\"docutils literal notranslate\">&quot;mhí&quot;</code> liosta de na luachanna bliana/míosa ar leith go léir don réimse.</p></li>\n<li><p>Tugann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&quot;seachtaine&quot;` liosta de na luachanna bliana/seachtaine ar leith go léir don réimse. Is Luan a bheidh na dátaí go léir.</p></li>\n<li><p>Tugann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&quot;lá” <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>liosta de na luachanna ar leith bliant/mí/lá go léir don réimse.</p></li>\n</ul>\n<p>Ba chóir go mbeadh <code class=\"docutils literal notranslate\">`ASC'` nó ``DESC'</code>, <code class=\"docutils literal notranslate\">ASC'</code>, 'ordú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>,' réamhshocraithe '. Sonraíonn sé seo conas na torthaí a ordú.</p>\n<p>Samplaí:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>dates<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;year&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[datetime.date(2005, 1, 1)]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>dates<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;month&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[datetime.date(2005, 2, 1), datetime.date(2005, 3, 1)]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>dates<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;week&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[datetime.date(2005, 2, 14), datetime.date(2005, 3, 14)]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>dates<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;day&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[datetime.date(2005, 2, 20), datetime.date(2005, 3, 20)]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>dates<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;day&quot;</span><span class=\"p\">,</span> order<span class=\"o\">=</span><span class=\"s2\">&quot;DESC&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[datetime.date(2005, 3, 20), datetime.date(2005, 2, 20)]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>dates<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;day&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">[datetime.date(2005, 3, 20)]</span>\n</code></pre></div>\n</section>\n<section id=\"datetimes\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>dáta-amanna () ``<a class=\"heading-anchor\" href=\"#datetimes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.datetimes\">\n<span class=\"sig-name descname\">datetimes</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">field_name</em>, <em class=\"sig-param\">kind</em>, <em class=\"sig-param\">order<span class=\"o\">=</span><span class=\"default_value\">'ASC'</span></em>, <em class=\"sig-param\">tzinfo<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.datetimes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann sé <code class=\"docutils literal notranslate\">QuerySet</code> a dhéanann meastóireacht ar liosta de:class: datetime.datetime rudaí a léiríonn gach dáta atá ar fáil de chineál áirithe laistigh d'ábhar an <code class=\"docutils literal notranslate\">QuerySet</code>.</p>\n<p>Ba chóir go mbeadh field_name` ainm <code class=\"docutils literal notranslate\">DateTimefield</code> de do mhúnla.</p>\n<p>Ba chóir go mbeadh <code class=\"docutils literal notranslate\">cineál</code> <code class=\"docutils literal notranslate\">blian&quot;</code>, &quot;míos&quot;`, &quot;seachtaine&quot;`, <code class=\"docutils literal notranslate\">lá” `</code>, <code class=\"docutils literal notranslate\">`uair an chloig&quot;</code>, <code class=\"docutils literal notranslate\">nóiméad&quot;</code>, nó <code class=\"docutils literal notranslate\">&quot;seachtaine&quot;</code>. Gach duine: Class: datetime.datetime réad sa liosta torthaí “gearrtha” go dtí an <code class=\"docutils literal notranslate\">cineál</code> a thugtar.</p>\n<p>Ba chóir go mbeadh <code class=\"docutils literal notranslate\">`ASC'` nó ``DESC'</code>, <code class=\"docutils literal notranslate\">ASC'</code>, 'ordú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>,' réamhshocraithe '. Sonraíonn sé seo conas na torthaí a ordú.</p>\n<p>Sainmhíníonn <code class=\"docutils literal notranslate\">tzinfo</code> an crios ama ina ndéantar dáta-amanna a thiontú sula ndéantar iad a ghearradh. Go deimhin, tá léirithe difriúla ag dáta ar leith ag brath ar an gcrios ama atá in úsáid. Caithfidh an paraiméadar seo a: aicme: datetime.tzinfo réad. &lt;default-current-time-zone&gt;Más <code class=\"docutils literal notranslate\">None ``é, úsáideann Django an:ref: `crios ama reatha `. Níl aon éifeacht aige nuair:setting: `USE_TZ` ``False</code>.</p>\n<aside class=\"admonition admonition-note\" id=\"database-time-zone-definitions\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Déanann an fheidhm seo tiontaithe crios ama go díreach sa bhunachar sonraí. Mar thoradh air sin, caithfidh do bhunachar sonraí a bheith in ann luach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>tzinfo.tzname (None) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a léirmhíniú. Aistríonn sé seo sna ceanglais seo a leanas:</p>\n<ul class=\"simple\">\n<li><p>SQLite: gan aon riachtanais. Déantar tiontaithe i Python.</p></li>\n<li><p>PostgreSQL: gan aon riachtanais (féach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Criosanna Ama <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_).</p></li>\n<li><p>Oracle: gan aon riachtanais (féach <a class=\"reference external\" href=\"https://docs.oracle.com/en/database/oracle/oracle-database/18/nlspg/datetime-data-types-and-time-zone-support.html#GUID-805AB986-DE12-4FEA-AF56-5AABCD2132DF\">Comhad Crios Ama a Roghnaithe</a>).</p></li>\n<li><p>MySQL: luchtaigh na táblaí crios ama le <a class=\"reference external\" href=\"https://dev.mysql.com/doc/refman/en/mysql-tzinfo-to-sql.html\">mysql_tzinfo_to_sql</a>.</p></li>\n</ul>\n</aside>\n</section>\n<section id=\"none\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aon cheann () `<a class=\"heading-anchor\" href=\"#none\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.none\">\n<span class=\"sig-name descname\">none</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.none\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Glaoch ar <code class=\"docutils literal notranslate\">none () ``cruthófar tacar fiosrúcháin nach bhfilleann aon rudaí riamh agus ní fhorghníomhfar aon cheist nuair a rochtain ar na torthaí. Is sampla de ``emptyQuerySet</code> is ea <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>qs.none () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>cueryset.</p>\n<p>Samplaí:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>none<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models.query</span> <span class=\"kn\">import</span> EmptyQuerySet\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">isinstance</span><span class=\"p\">(</span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>none<span class=\"p\">(),</span> EmptyQuerySet<span class=\"p\">)</span>\n<span class=\"go\">True</span>\n</code></pre></div>\n</section>\n<section id=\"all\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>gach () `<a class=\"heading-anchor\" href=\"#all\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.all\">\n<span class=\"sig-name descname\">all</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.all\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann sé cóip* den fho-aicme reatha <code class=\"docutils literal notranslate\">QuerySet</code> (nó <code class=\"docutils literal notranslate\">QuerySet ``). D'fhéadfadh sé seo a bheith úsáideach i gcásanna inar mbeadh tú ag iarraidh bainisteoir samhail nó ``QuerySet` a rith isteach agus scagadh breise a dhéanamh ar an toradh. Tar éis glaoch ar ``all () ``ar cheachtar réad, is cinnte go mbeidh ``QuerySet</code> agat le bheith ag obair leis.</p>\n<p>&lt;when-querysets-are-evaluated&gt;Nuair a bhíonn <code class=\"docutils literal notranslate\">QuerySet</code>: ref: meastóireacht `, is gnách go ndéanann sé a thorthaí a chosc. Má d'fhéadfadh go mbeadh athrú ar na sonraí sa bhunachar sonraí ó rinneadh meastóireacht ar ``QuerySet, is féidir leat torthaí nuashonraithe a fháil don cheist céanna trí ghlaoch ar <code class=\"docutils literal notranslate\">all () ``ar `QuerySet</code> a rinneadh meastóireacht roimhe seo.</p>\n</section>\n<section id=\"union\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aontas () ``<a class=\"heading-anchor\" href=\"#union\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.union\">\n<span class=\"sig-name descname\">union</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>other_qs</em>, <em class=\"sig-param\">all<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.union\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Úsáideann oibreoir <code class=\"docutils literal notranslate\">UNION</code> SQL chun torthaí dhá QuerySet` nó níos mó <code class=\"docutils literal notranslate\">QuerySet</code>s a chomhcheangal. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs1<span class=\"o\">.</span>union<span class=\"p\">(</span>qs2<span class=\"p\">,</span> qs3<span class=\"p\">)</span>\n</code></pre></div>\n<p>Ní roghnaíonn an t-oibreoir UNION ach luachanna ar leith de réir réamhshocraithe. Chun luachanna dúblacha a cheadú, bain úsáid as an argóint <code class=\"docutils literal notranslate\">all=True</code>.</p>\n<p><code class=\"docutils literal notranslate\">aontas () ``, `crosbhall ()</code>, agus <code class=\"docutils literal notranslate\">difríocht () ``cásanna samhail ar ais den chineál den chéad ``QuerySet</code> fiú más <code class=\"docutils literal notranslate\">QuerySet</code> iad na hargóintí <code class=\"docutils literal notranslate\">QuerySet</code> de mhúnlaí eile. Oibríonn pas samhlacha éagsúla chomh fada agus a bhíonn an liosta <code class=\"docutils literal notranslate\">SELECT</code> mar an gcéanna i ngach <code class=\"docutils literal notranslate\">QuerySet</code> (ar a laghad na cineálacha, is cuma na hainmneacha chomh fada agus a bhíonn na cineálacha san ord céanna). I gcásanna den sórt sin, ní mór duit na hainmneacha colún a úsáid ón gcéad <code class=\"docutils literal notranslate\">QuerySet</code> i modhanna <code class=\"docutils literal notranslate\">QuerySet</code> a chuirtear i bhfeidhm ar an <code class=\"docutils literal notranslate\">QuerySet</code> mar thoradh air. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs1 <span class=\"o\">=</span> Author<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs2 <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>qs1<span class=\"o\">.</span>union<span class=\"p\">(</span>qs2<span class=\"p\">)</span><span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ina theannta sin, ní cheadaítear ach <code class=\"docutils literal notranslate\">LIMIT</code>, OFFSET`, <code class=\"docutils literal notranslate\">COUNT (*) ``, `ORDER BY</code>, agus colúin a shonrú (ie slisnú, :meth: count, :meth: exists, :meth: ord_by, agus:meth: luachanna () `ar an “QuerySet” mar thoradh air. Ina theannta sin, cuireann bunachair sonraí srianta ar na hoibríochtaí atá ceadaithe sna ceisteanna comhcheangailte Mar shampla, ní cheadaíonn an chuid is mó de na bunachair sonraí ``LIMIT` nó <code class=\"docutils literal notranslate\">OFFSET</code> sna ceisteanna comhcheangailte.</p>\n</section>\n<section id=\"intersection\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>trasna () ``<a class=\"heading-anchor\" href=\"#intersection\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.intersection\">\n<span class=\"sig-name descname\">intersection</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>other_qs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.intersection\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Úsáideann oibreoir <code class=\"docutils literal notranslate\">INTERSECT</code> SQL chun na heilimintí roinnte de dhá QuerySet` nó níos mó <code class=\"docutils literal notranslate\">QuerySet</code>s a thabhairt ar ais. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs1<span class=\"o\">.</span>intersection<span class=\"p\">(</span>qs2<span class=\"p\">,</span> qs3<span class=\"p\">)</span>\n</code></pre></div>\n<p>Féach: Meth: aont le haghaidh roinnt srianta.</p>\n</section>\n<section id=\"difference\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>difríocht () ``<a class=\"heading-anchor\" href=\"#difference\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.difference\">\n<span class=\"sig-name descname\">difference</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>other_qs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.difference\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Úsáideann sé oibreoir <code class=\"docutils literal notranslate\">EXCEPT</code> SQL chun ach eilimintí a choinneáil i láthair sa <code class=\"docutils literal notranslate\">QuerySet</code> ach ní i roinnt <code class=\"docutils literal notranslate\">QuerySet</code> eile. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs1<span class=\"o\">.</span>difference<span class=\"p\">(</span>qs2<span class=\"p\">,</span> qs3<span class=\"p\">)</span>\n</code></pre></div>\n<p>Féach: Meth: aont le haghaidh roinnt srianta.</p>\n</section>\n<section id=\"select-related\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>roghnai_bhainteach () ``<a class=\"heading-anchor\" href=\"#select-related\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.select_related\">\n<span class=\"sig-name descname\">select_related</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.select_related\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Filleann sé <code class=\"docutils literal notranslate\">QuerySet</code> a leanfaidh caidrimh eachtrach-eachtrach, ag roghnú sonraí breise réad gaolmhara nuair a fhorghníomhaíonn sé a cheist. Is teanndáileog feidhmíochta é seo a mbíonn ceist amháin níos casta mar thoradh air ach ciallaíonn nach mbeidh ceisteanna bunachar sonraí ag teastáil le húsáid níos déanaí caidrimh eachtracha</p>\n<p>Léiríonn na samplaí seo a leanas an difríocht idir cuardach simplí agus cuardaigh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Seo cuardach caighdeánach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Hits the database.</span>\ne <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Hits the database again to get the related Blog object.</span>\nb <span class=\"o\">=</span> e<span class=\"o\">.</span>blog\n</code></pre></div>\n<p>Agus seo cuardach <code class=\"docutils literal notranslate\">select_related</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Hits the database.</span>\ne <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Doesn&#39;t hit the database, because e.blog has been prepopulated</span>\n<span class=\"c1\"># in the previous query.</span>\nb <span class=\"o\">=</span> e<span class=\"o\">.</span>blog\n</code></pre></div>\n<p>Is féidir leat <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid le haon tacar ceisteanna rudaí:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.utils</span> <span class=\"kn\">import</span> timezone\n\n<span class=\"c1\"># Find all the blogs with entries scheduled to be published in the future.</span>\nblogs <span class=\"o\">=</span> <span class=\"nb\">set</span><span class=\"p\">()</span>\n\n<span class=\"k\">for</span> e <span class=\"ow\">in</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__gt<span class=\"o\">=</span>timezone<span class=\"o\">.</span>now<span class=\"p\">())</span><span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">):</span>\n    <span class=\"c1\"># Without select_related(), this would make a database query for each</span>\n    <span class=\"c1\"># loop iteration in order to fetch the related blog for each entry.</span>\n    blogs<span class=\"o\">.</span>add<span class=\"p\">(</span>e<span class=\"o\">.</span>blog<span class=\"p\">)</span>\n</code></pre></div>\n<p>Níl an t-ord a bhaineann le slabhraíocht <code class=\"docutils literal notranslate\">filter () ``agus ``select_related ()</code> tábhachtach. Tá na ceisteanna ceisteanna seo coibhéiseach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__gt<span class=\"o\">=</span>timezone<span class=\"o\">.</span>now<span class=\"p\">())</span><span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;blog&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__gt<span class=\"o\">=</span>timezone<span class=\"o\">.</span>now<span class=\"p\">())</span>\n</code></pre></div>\n<p>Is féidir leat eochracha eachtracha a leanúint ar bhealach cosúil leo a cheistiú. Má tá na samhlacha seo a leanas agat:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">City</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"k\">pass</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Person</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    hometown <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        City<span class=\"p\">,</span>\n        on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>SET_NULL<span class=\"p\">,</span>\n        blank<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n        null<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Book</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    author <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Person<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n</code></pre></div>\n<p>... ansin glao chuig <code class=\"docutils literal notranslate\">Book.Objects.select_related ('author__baile') .get (id=4) ``taisceoidh an ``Person</code> gaolmhar agus* an <code class=\"docutils literal notranslate\">Cathair</code> gaolmhar:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Hits the database with joins to the author and hometown tables.</span>\nb <span class=\"o\">=</span> Book<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;author__hometown&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">)</span>\np <span class=\"o\">=</span> b<span class=\"o\">.</span>author  <span class=\"c1\"># Doesn&#39;t hit the database.</span>\nc <span class=\"o\">=</span> p<span class=\"o\">.</span>hometown  <span class=\"c1\"># Doesn&#39;t hit the database.</span>\n\n<span class=\"c1\"># Without select_related()...</span>\nb <span class=\"o\">=</span> Book<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">)</span>  <span class=\"c1\"># Hits the database.</span>\np <span class=\"o\">=</span> b<span class=\"o\">.</span>author  <span class=\"c1\"># Hits the database.</span>\nc <span class=\"o\">=</span> p<span class=\"o\">.</span>hometown  <span class=\"c1\"># Hits the database.</span>\n</code></pre></div>\n<p>Is féidir leat tagairt a dhéanamh d'aon ghaol:class: ~django.db.models.foreignKey nó:class: ~django.db.models.onetoonefield sa liosta réimsí a chuirtear chuig <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<p>Is féidir leat tagairt a dhéanamh freisin do threo droim a:class: ~django.db.models.onetoonefield sa liosta réimsí a chuirtear chuig <code class=\"docutils literal notranslate\">select_related</code> - is é sin, is féidir leat a:class: ~django.db.models.onetoonefield a thrasnú ar ais go dtí an réad ar a sainmhínítear an réimse. In ionad ainm an réimse a shonrú, bain úsáid as an:attr: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>related_name &lt;django.db.models.ForeignKey.related_name&gt;`don réimse ar an réad gaolmhar.</p>\n<p>D'fhéadfadh go mbeadh roinnt cásanna ann inar mian leat glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le go leor rudaí gaolmhara, nó nuair nach bhfuil a fhios agat na caidrimh go léir. Sna cásanna seo is féidir glaoch ar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>select_related () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>gan aon argóintí. Leanfaidh sé seo gach eochracha eachtracha neamh-neamh-niall is féidir leis a fháil - caithfear eochracha eachtracha in-neamhnaithe a Ní mholtar é seo i bhformhór na gcásanna mar is dócha go ndéanfaidh sé an ceist bhunúsach níos casta, agus níos mó sonraí a thabhairt ar ais, ná mar a theastaíonn i ndáiríre.</p>\n<p>Más gá duit an liosta réimsí gaolmhara a chuir leis na glaonna roimhe seo de select_related` a ghlanadh ar <code class=\"docutils literal notranslate\">QuerySet</code>, is féidir leat <code class=\"docutils literal notranslate\">None</code> a rith mar pharaiméadar:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>without_relations <span class=\"o\">=</span> queryset<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Oibríonn glaonna <code class=\"docutils literal notranslate\">select_related</code> a shlánú ar bhealach cosúil le modhanna eile - is é sin go bhfuil <code class=\"docutils literal notranslate\">select_related ('foo', 'bar') ``comhionann le ``select_related ('foo') .select_related ('bar')</code>.</p>\n</section>\n<section id=\"prefetch-related\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>prefetch_related () ``<a class=\"heading-anchor\" href=\"#prefetch-related\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.prefetch_related\">\n<span class=\"sig-name descname\">prefetch_related</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>lookups</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.prefetch_related\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tugann “QuerySet” ar ais a aisghabhann rudaí gaolmhara go huathoibríoch, i mbaisc amháin, do gach ceann de na cuardaigh sonraithe.</p>\n<p>Tá cuspóir comhchosúil aige seo le select_related, sa mhéid go bhfuil an dá cheann deartha chun stop a chur le tuilleadh ceisteanna bunachar sonraí is cúis le rochtain a fháil ar rudaí gaolmhara, ach tá an straitéis an-difriúil.</p>\n<p>Oibríonn <code class=\"docutils literal notranslate\">select_related</code> trí chomhcheangal SQL a chruthú agus réimsí an réada gaolmhara a áireamh sa ráiteas <code class=\"docutils literal notranslate\">SELECT</code>. Ar an gcúis seo, faigheann <code class=\"docutils literal notranslate\">select_related</code> na rudaí gaolmhara san fhiosrúchán bunachar sonraí céanna. Mar sin féin, chun an tacar torthaí i bhfad níos mó a bheadh as dul isteach i rith caidreamh 'go leor' a sheachaint, tá <code class=\"docutils literal notranslate\">select_related</code> teoranta do chaidrimh aonluach - eochair eachtrach agus duine le duine.</p>\n<p>Ar an láimh eile, déanann <code class=\"docutils literal notranslate\">prefetch_related</code> cuardach ar leithligh do gach caidreamh, agus déanann sé an 'ceangal' i Python. Ligeann sé seo dó rudaí go leor, go leor, agus:class: ~django.contrib.contentTypes.Fields.GenericRelation nach féidir a dhéanamh ag baint úsáide as select_related`, chomh maith leis na caidrimh eochair eachtracha agus duine le duine a thacaíonn le select_related`. Tacaíonn sé freisin le réamhghabháil o:class: ~django.contrib.contentTypes.fields.GenericForeignKey, áfach, ní mór an tacar ceisteanna do gach ContentType` a sholáthar sa pharaiméadar <code class=\"docutils literal notranslate\">querysets</code> de:class: ~django.contrib.contentTypes.prefetch.GenericPrefetch.</p>\n<p>Mar shampla, cuir i gcás go bhfuil na samhlacha seo agat:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Topping</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">30</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Pizza</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">50</span><span class=\"p\">)</span>\n    toppings <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span>Topping<span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"fm\">__str__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\"> (</span><span class=\"si\">%s</span><span class=\"s2\">)&quot;</span> <span class=\"o\">%</span> <span class=\"p\">(</span>\n            <span class=\"bp\">self</span><span class=\"o\">.</span>name<span class=\"p\">,</span>\n            <span class=\"s2\">&quot;, &quot;</span><span class=\"o\">.</span>join<span class=\"p\">(</span>topping<span class=\"o\">.</span>name <span class=\"k\">for</span> topping <span class=\"ow\">in</span> <span class=\"bp\">self</span><span class=\"o\">.</span>toppings<span class=\"o\">.</span>all<span class=\"p\">()),</span>\n        <span class=\"p\">)</span>\n</code></pre></div>\n<p>agus rith:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">[&quot;Hawaiian (ham, pineapple)&quot;, &quot;Seafood (prawns, smoked salmon)&quot;...</span>\n</code></pre></div>\n<p>Is í an fhadhb leis seo ná gach uair <code class=\"docutils literal notranslate\">Pizza. Iarrann __str__ () ````self.toppings.all ()</code> caithfidh sé an bunachar sonraí a cheistiú, mar sin reáchtálfaidh <code class=\"docutils literal notranslate\">Pizza.Objects.all () `ceist ar an tábla Toppings le haghaidh **gach ear** sa Pizza ``QuerySet</code>.</p>\n<p>Is féidir linn laghdú go dtí dhá cheist ag baint úsáide as <code class=\"docutils literal notranslate\">prefetch_related</code>:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;toppings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tugann sé seo le tuiscint go bhfuil self.toppings.all () ``do gach `Pizza`; anois gach uair a thugtar <code class=\"docutils literal notranslate\">self.toppings.all ()</code>, in ionad dul chuig an mbunachar sonraí do na míreanna, gheobhaidh sé iad i taisce <code class=\"docutils literal notranslate\">QuerySet</code> réamhfhaighte a rinneadh i gceist amháin.</p>\n<p>That is, all the relevant toppings will have been fetched in a single query,\nand used to make <code class=\"docutils literal notranslate\">QuerySet</code> instances that have a pre-filled cache of the\nrelevant results; these are then used in the <code class=\"docutils literal notranslate\">self.toppings.all()</code> calls.</p>\n<p>Déantar na ceisteanna breise i prefetch_related () ``a fhorghníomhú tar éis an ``QuerySet` a mheas agus an cheist phríomhúil a fhorghníomhú.</p>\n<p>Tabhair faoi deara nach bhfuil aon mheicníocht ann chun ceist eile bunachar sonraí a chosc ó na míreanna a athrú idir forghníomhú na ceisteanna príomhúil agus na ceisteanna breise, a d'fhéadfadh toradh neamhchomhsheasmhach a bheith mar thoradh air. Mar shampla, má scriostar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Pizza <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>tar éis don cheist phríomhúil a fhorghníomhú, ní thabharfar a bholtaí ar ais sa cheist bhreise, agus is cosúil nach bhfuil aon fhorais ag an pizza:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;toppings&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">#  &quot;Hawaiian&quot; Pizza was deleted in another shell.</span>\n<span class=\"go\">&lt;QuerySet [&lt;Pizza: Hawaiian ()&gt;, &lt;Pizza: Seafood (prawns, smoked salmon)&gt;]&gt;</span>\n</code></pre></div>\n<p>Má tá cásanna samhail in-athraithe agat, is féidir leat tréithe gaolmhara a réamh-fháil ar na cásanna sin ag baint úsáide as an bhfeidhm:func: ~django.db.models.prefetch_related_objects.</p>\n<p>Note that the result cache of the primary <code class=\"docutils literal notranslate\">QuerySet</code> and all specified related\nobjects will then be fully loaded into memory. This changes the typical\nbehavior of a <code class=\"docutils literal notranslate\">QuerySet</code>, which normally tries to avoid loading all objects\ninto memory before they are needed, even after a query has been executed in the\ndatabase.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Remember that, as always with <code class=\"docutils literal notranslate\">QuerySet</code> objects, any subsequent chained\nmethods which imply a different database query will ignore previously\ncached results, and retrieve data using a fresh database query. So, if you\nwrite the following:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>pizzas <span class=\"o\">=</span> Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;toppings&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"p\">[</span><span class=\"nb\">list</span><span class=\"p\">(</span>pizza<span class=\"o\">.</span>toppings<span class=\"o\">.</span>filter<span class=\"p\">(</span>spicy<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">))</span> <span class=\"k\">for</span> pizza <span class=\"ow\">in</span> pizzas<span class=\"p\">]</span>\n</code></pre></div>\n<p>... ansin ní chabhróidh an fíric go bhfuil pizza.toppings.all () ``réamhfhaighte leat. Chuir an ``prefetch_related ('toppings') ``intuigthe ``pizza.toppings.all ()`, ach is ceist nua difriúil é <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>pizza.toppings.filter () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Ní féidir leis an taisce réamhghabháilte cabhrú anseo; i ndáiríre gortaíonn sé feidhmíocht, ós rud é go bhfuil ceist bunachar sonraí déanta agat nár úsáideann tú. Mar sin bain úsáid as an ngné seo le cúramach!</p>\n<p>&lt;django.db.models.fields.related.RelatedManager&gt;Chomh maith leis sin, má ghlaonn tú ar na modhanna athraithe bunachar sonraí: meth: ~Django.db.Models.Fields.Related.RelatedManager.add, :meth: ~Django.db.Models.Fields.Related.RelatedManager.Create, :meth: ~Django.db.Models.Fields.related.Manager.remove, :h: ~Django.db.Models.Fields.Related.RelatedManager.Clear nó: meth: ~Django.db.Models.Fields.Related.RelatedManager.Set, ar:class: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>bhainisteoirí gaolmhara <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>, glanfar aon taisce réamhghabháilte don ghaol.</p>\n</aside>\n<p>Is féidir leat an gnáthchomhréireacht a úsáid freisin chun réimsí gaolmhara de réimsí gaolmhara a dhéanamh. Cuir i gcás go bhfuil samhail bhreise againn leis an sampla thuas:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span> <span class=\"nc\">Restaurant</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    pizzas <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span>Pizza<span class=\"p\">,</span> related_name<span class=\"o\">=</span><span class=\"s2\">&quot;restaurants&quot;</span><span class=\"p\">)</span>\n    best_pizza <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>\n        Pizza<span class=\"p\">,</span> related_name<span class=\"o\">=</span><span class=\"s2\">&quot;championed_by&quot;</span><span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE\n    <span class=\"p\">)</span>\n</code></pre></div>\n<p>Tá na nithe seo a leanas ar fad dlíthiúil:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tabharfaidh sé seo gach píosa a bhaineann le bialanna, agus gach topping a bhaineann leis na pizzí sin a réamh-aimsiú. Beidh 3 cheist bunachar sonraí san iomlán mar thoradh air seo - ceann do na bialanna, ceann do na pizzes, agus ceann do na toppings.</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;best_pizza__toppings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tabharfaidh sé seo an pizza is fearr agus na toppings go léir don pizza is fearr do gach bialann. Déanfar é seo i 3 cheist bunachar sonraí - ceann do na bialanna, ceann do na 'pizzes is fearr ', agus ceann do na toppings.</p>\n<p>D'fhéadfaí an caidreamh <code class=\"docutils literal notranslate\">best_pizza ``a fháil freisin ag baint úsáide as ``select_related</code> chun líon na fiosrúcháin a laghdú go 2:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;best_pizza&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;best_pizza__toppings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ós rud é go ndéantar an réamhcheistiú a fhorghníomhú tar éis na príomhiosrúcháin (lena n-áirítear na comhcheangail a theastaíonn ag <code class=\"docutils literal notranslate\">select_related</code>), tá sé in ann a bhrath go bhfuil na rudaí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>best_pizza <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>faighte cheana féin, agus scipeoidh sé iad a fháil arís.</p>\n<p>Carnóidh glaonna <code class=\"docutils literal notranslate\">prefetch_related</code> a shlánú na cuardaigh atá réamhfhaighte. Chun aon iompar <code class=\"docutils literal notranslate\">prefetch_related</code> a ghlanadh, pas <code class=\"docutils literal notranslate\">None</code> mar pharaiméadar:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>non_prefetched <span class=\"o\">=</span> qs<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Difríocht amháin le tabhairt faoi deara agus <code class=\"docutils literal notranslate\">prefetch_related</code> á úsáid ná gur féidir rudaí a chruthaítear le ceist a roinnt idir na rudaí éagsúla a bhfuil baint acu leo i.e. is féidir le samhail Python amháin a bheith le feiceáil ag níos mó ná pointe amháin sa chrann na rudaí a chuirtear ar ais. De ghnáth tarlóidh sé seo le príomhchaidrimh eachtracha. De ghnáth ní bheidh an t-iompar seo ina fhadhb, agus sábhálfaidh sé am cuimhne agus LAP araon i ndáiríre.</p>\n<p>Cé go dtacaíonn <code class=\"docutils literal notranslate\">prefetch_related</code> le caidrimh GenericForeignKey réamhghabháilte, beidh líon na gceisteanna ag brath ar na sonraí. Ós rud é gur féidir le GenericForeignKey sonraí a thagairt i dtáblaí iolracha, teastaíonn ceist amháin in aghaidh an tábla dá dtagraítear, seachas ceist amháin do na míreanna go léir. D'fhéadfadh ceisteanna breise a bheith ann ar an tábla <code class=\"docutils literal notranslate\">ContentType</code> mura bhfuil na sraitheanna ábhartha faighte cheana féin.</p>\n<p>Cuirfear <code class=\"docutils literal notranslate\">prefetch_related</code> i bhformhór na gcásanna i bhfeidhm ag baint úsáide as ceist SQL a úsáideann an oibreoir 'IN'. Ciallaíonn sé seo go bhféadfaí clásal mór 'IN' a ghiniúint do <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>QuerySet <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>mór, a d'fhéadfadh fadhbanna feidhmíochta féin a bheith aige, ag brath ar an mbunachar sonraí, maidir le parsáil nó a fhorghníomhú an fhiosrúcháin SQL. Próifíl i gcónaí do do chás úsáide!</p>\n<p>Má úsáideann tú <code class=\"docutils literal notranslate\">iterator () ``chun an cheist a reáchtáil, ní bhreathnófar glaonna ``prefetch_related ()</code> ach amháin má chuirtear luach ar fáil do chunk_size`.</p>\n<p>Is féidir leat an réad:class: ~django.db.models.prefetch a úsáid chun an oibríocht réamhfhreastalaí a rialú tuilleadh.</p>\n<p>Sa fhoirm is simplí tá Prefetch` comhionann leis na cuardaigh thraidisiúnta bunaithe ar shreang:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Prefetch\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Is féidir leat tacar ceisteanna saincheaptha a sholáthar leis an argóint roghnach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>queryset <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Is féidir é seo a úsáid chun ordú réamhshocraithe an tacar fiosrúcháin a athrú:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>Toppings<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Nó glaoch ar: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.db.models.query.queryset.select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>nuair is infheidhme chun líon na gceisteanna a laghdú tuilleadh fós:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;restaurants&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;best_pizza&quot;</span><span class=\"p\">))</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is féidir leat an toradh réamhfhaighte a shannadh freisin do thréith saincheaptha leis an argóint roghnach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>to_attr`. Stórálfar an toradh go díreach i liosta.</p>\n<p>Ligeann sé seo an gaol céanna a réamhghabháil arís agus arís eile le QuerySet difriúil; mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>vegetarian_pizzas <span class=\"o\">=</span> Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>vegetarian<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> to_attr<span class=\"o\">=</span><span class=\"s2\">&quot;menu&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>vegetarian_pizzas<span class=\"p\">,</span> to_attr<span class=\"o\">=</span><span class=\"s2\">&quot;vegetarian_menu&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is féidir cuardaigh eile a chruthaítear le to_attr` saincheaptha a thrasnú mar is gnách:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>vegetarian_pizzas <span class=\"o\">=</span> Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>vegetarian<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>vegetarian_pizzas<span class=\"p\">,</span> to_attr<span class=\"o\">=</span><span class=\"s2\">&quot;vegetarian_menu&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;vegetarian_menu__toppings&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Moltar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>to_attr` a úsáid agus an toradh réamhfhaighte á scagadh síos toisc nach bhfuil sé chomh débhríoch ná toradh scagtha a stóráil i taisce an bhainisteora gaolmhar:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>queryset <span class=\"o\">=</span> Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>vegetarian<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># Recommended:</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>restaurants <span class=\"o\">=</span> Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>queryset<span class=\"p\">,</span> to_attr<span class=\"o\">=</span><span class=\"s2\">&quot;vegetarian_pizzas&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>vegetarian_pizzas <span class=\"o\">=</span> restaurants<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>vegetarian_pizzas\n<span class=\"gp\">&gt;&gt;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># Not recommended:</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>restaurants <span class=\"o\">=</span> Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>queryset<span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>vegetarian_pizzas <span class=\"o\">=</span> restaurants<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>pizzas<span class=\"o\">.</span>all<span class=\"p\">()</span>\n</code></pre></div>\n<p>Oibríonn réamhghabháil saincheaptha freisin le caidreamh aonair a bhaineann le cosúil le ForeignKey` nó <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>OneTooneField` <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>. Go ginearálta beidh tú ag iarraidh: meth: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>select_related () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>a úsáid le haghaidh na caidrimh seo, ach tá roinnt cásanna ann ina bhfuil réamh-ghabháil le saincheaptha <a href=\"#id9\"><span class=\"problematic\" id=\"id10\">``</span></a>QuerySet <a href=\"#id11\"><span class=\"problematic\" id=\"id12\">``</span></a>úsáideach:</p>\n<ul>\n<li><p>Ba mhaith leat <code class=\"docutils literal notranslate\">QuerySet</code> a úsáid a dhéanann tuilleadh réamhghabhála ar mhúnlaí gaolmhara.</p></li>\n<li><p>Ní theastaíonn uait ach fo-thacar de na rudaí gaolmhara a réamh-fháil.</p></li>\n<li><p>&lt;defer () &gt;Ba mhaith leat teicnící optamaithe feidhmíochta a úsáid mar: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>réimsí iarchurtha <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>queryset <span class=\"o\">=</span> Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>only<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>restaurants <span class=\"o\">=</span> Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;best_pizza&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>queryset<span class=\"p\">)</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n</ul>\n<p>Agus bunachair sonraí iolracha á úsáid agat, beidh meas ag <code class=\"docutils literal notranslate\">Prefetch</code> do rogha bunachar sonraí. Mura sonraíonn an cheist istigh bunachar sonraí, úsáidfidh sé an bunachar sonraí a roghnaíonn an cheist seachtrach. Tá gach ceann de na nithe seo a leanas bailí:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># Both inner and outer queries will use the &#39;replica&#39; database</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>using<span class=\"p\">(</span><span class=\"s2\">&quot;replica&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span>using<span class=\"p\">(</span><span class=\"s2\">&quot;replica&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># Inner will use the &#39;replica&#39; database; outer will use &#39;default&#39; database</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>Toppings<span class=\"o\">.</span>objects<span class=\"o\">.</span>using<span class=\"p\">(</span><span class=\"s2\">&quot;replica&quot;</span><span class=\"p\">)),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># Inner will use &#39;replica&#39; database; outer will use &#39;cold-storage&#39; database</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>Toppings<span class=\"o\">.</span>objects<span class=\"o\">.</span>using<span class=\"p\">(</span><span class=\"s2\">&quot;replica&quot;</span><span class=\"p\">)),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span>using<span class=\"p\">(</span><span class=\"s2\">&quot;cold-storage&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Tá tábhacht ag ordú cuardaigh.</p>\n<p>Tóg na samplaí seo a leanas:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Oibríonn sé seo cé go bhfuil sé neamh-ordaithe toisc go bhfuil an fhaisnéis uile riachtanach ann cheana féin sa <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>pizzas__toppings', dá bhrí sin tá an dara argóint `'pizzas'` iomarcach i ndáiríre.</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">,</span> Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>Pizza<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()))</span>\n</code></pre></div>\n<p>Ardóidh sé seo <code class=\"docutils literal notranslate\">Error lua</code> mar gheall ar an iarracht tacar fiosrúcháin a chonacthas roimhe seo a athshainiú. Tabhair faoi deara gur cruthaíodh tacar ceisteanna intuigthe chun <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>'pizzas'` a thrasnú mar chuid den chuardach <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>pizzas__toppings'.</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>prefetch_related<span class=\"p\">(</span><span class=\"s2\">&quot;pizza_list__toppings&quot;</span><span class=\"p\">,</span> Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span> to_attr<span class=\"o\">=</span><span class=\"s2\">&quot;pizza_list&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Spreagfaidh sé seo <code class=\"docutils literal notranslate\">AttributeError</code> toisc nach bhfuil <code class=\"docutils literal notranslate\">pizza_list'</code> ann fós nuair a bhíonn <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>pizza_list__toppings'` á phróiseáil.</p>\n<p>Níl an breithniú seo teoranta d'úsáid rudaí <code class=\"docutils literal notranslate\">Prefetch</code>. D'fhéadfadh go n-éilíonn roinnt ardteicnící go ndéanfaí na cuardaigh in ord sonrach chun ceisteanna breise a chruthú a sheachaint; dá bhrí sin moltar argóintí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>prefetch_related` a ordú go cúramach i gcónaí.</p>\n</aside>\n</section>\n<section id=\"extra\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>breise () ``<a class=\"heading-anchor\" href=\"#extra\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.extra\">\n<span class=\"sig-name descname\">extra</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">select<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">where<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">params<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">tables<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">order_by<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">select_params<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.extra\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Uaireanta, ní féidir le comhréiteach ceisteanna Django leis féin clásal casta <code class=\"docutils literal notranslate\">WHERE</code> a chur in iúl go héasca. Maidir leis na cásanna imeall seo, soláthraíonn Django an modhnóir <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>extra () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>QuerySet - crúca chun clásail shonracha a instealladh isteach sa SQL a ghineann <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>QuerySet`.</p>\n<aside class=\"admonition-use-this-method-as-a-last-resort admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáid an modh seo mar rogha dheireanach</p>\n<p>Is sean-API é seo a bhfuil sé mar aidhm againn a dhíchur ag pointe éigin sa todhchaí. Úsáid é ach amháin mura féidir leat do cheist a chur in iúl ag baint úsáide as modhanna ceisteanna eile. Más gá duit é a úsáid, le do thoil <a href=\"#id10\"><span class=\"problematic\" id=\"id11\">`comhdú ticéad`_</span></a> ag baint &lt; <a class=\"reference external\" href=\"https://code.djangoproject.com/newticket\">https://code.djangoproject.com/newticket</a>&gt; úsáide as an eochairfhocal <a href=\"#id12\"><span class=\"problematic\" id=\"id13\">`QuerySet.extra &lt; https://code.djangoproject.com/query?status=assigned&amp;status=new&amp;keywords=~QuerySet.extra&gt;`_</span></a> le do chás úsáide (seiceáil liosta na dticéad atá ann cheana ar dtús) ionas gur féidir linn an API QuerySet a fheabhsú chun cead a bhaint <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>extra () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>. Nílimid ag feabhsú nó ag socrú fabhtanna don mhodh seo a thuilleadh.</p>\n<p>Mar shampla, an úsáid seo de <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>extra () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs<span class=\"o\">.</span>extra<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    select<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;val&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;select col from sometable where othercol = </span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span><span class=\"p\">},</span>\n<span class=\"gp\">... </span>    select_params<span class=\"o\">=</span><span class=\"p\">(</span>someparam<span class=\"p\">,),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>atá coibhéiseach le:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>qs<span class=\"o\">.</span>annotate<span class=\"p\">(</span>val<span class=\"o\">=</span>RawSQL<span class=\"p\">(</span><span class=\"s2\">&quot;select col from sometable where othercol = </span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span> <span class=\"p\">(</span>someparam<span class=\"p\">,)))</span>\n</code></pre></div>\n<p>Is é an príomhbhuntáiste a bhaineann le húsáid:class: ~django.db.models.expressions.rawsql ná gur féidir leat output_field` a shocrú más gá. Is é an príomh-mhíbhuntáiste ná má thagraíonn tú d'ainm tábla éigin den tacar fiosrúcháin sa SQL amh, is féidir go bhféadfadh Django an t-ainm sin a athrú (mar shampla, nuair a úsáidtear an tacar fiosrúcháin mar fho-cheist i bhfiosrúchán eile fós).</p>\n</aside>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Ba chóir duit a bheith an-chúramach aon uair a úsáideann tú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>extra () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Gach uair a úsáideann tú é, ba cheart duit éalú ar aon pharaiméadair is féidir leis an úsáideoir a rialú trí <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>params' a úsáid chun cosaint a dhéanamh ar ionsaithe insteallta SQL.</p>\n<p>Ní mór duit sealbhóirí áiteanna a lua sa teaghrán SQL freisin. Tá an sampla seo leochaileach do instealladh SQL mar gheall ar na luachana timpeall <code class=\"docutils literal notranslate\">%s</code>:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> col <span class=\"k\">FROM</span> sometable <span class=\"k\">WHERE</span> othercol <span class=\"o\">=</span> <span class=\"s1\">&#39;%s&#39;</span>  <span class=\"o\">#</span> unsafe<span class=\"o\">!</span>\n</code></pre></div>\n<p>&lt;sql-injection-protection&gt;Is féidir leat tuilleadh a léamh faoin gcaoi a n-oibríonn Django's:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Cosaint insteallta SQL <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</aside>\n<p>De réir sainmhínithe, b'fhéidir nach mbeidh na cuardaigh bhreise seo iniompartha d'innill bhunachar sonraí éagsúla (toisc go bhfuil cód SQL á scríobh go sainráite agat) agus sáraíonn tú prionsabal DRY, mar sin ba cheart duit iad a sheachaint</p>\n<p>Sonraigh ceann amháin nó níos mó de <code class=\"docutils literal notranslate\">params</code>, roghnaithe`, <code class=\"docutils literal notranslate\">cá háit ``nó ``tábla</code>. Níl aon cheann de na hargóintí ag teastáil, ach ba cheart duit ceann acu ar a laghad a úsáid.</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">roghnaithe</code></p>\n<p>Ligeann an argóint <code class=\"docutils literal notranslate\">roghnaigh ``duit réimsí breise a chur sa chlásal ``SELECT</code>. Ba chóir go mbeadh ainmneacha tréithe ag mapáil foclóra le clásail SQL le húsáid chun an tréith sin a ríomh.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>select<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;is_recent&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;pub_date &gt; &#39;2006-01-01&#39;&quot;</span><span class=\"p\">})</span>\n</code></pre></div>\n<p>Mar thoradh air sin, beidh tréith bhreise ag gach réad <code class=\"docutils literal notranslate\">Entry', ``is_recent</code>, boolean a léiríonn an bhfuil <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>pub_date <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>an iontráil níos mó ná 1 Eanáir, 2006.</p>\n<p>Cuireann Django an snippet SQL a thugtar isteach go díreach sa ráiteas <code class=\"docutils literal notranslate\">SELECT</code>, mar sin bheadh an SQL mar thoradh air den sampla thuas rud éigin mar:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> blog_entry<span class=\"p\">.</span><span class=\"o\">*</span><span class=\"p\">,</span> <span class=\"p\">(</span>pub_date <span class=\"o\">&gt;</span> <span class=\"s1\">&#39;2006-01-01&#39;</span><span class=\"p\">)</span> <span class=\"k\">AS</span> is_recent\n<span class=\"k\">FROM</span> blog_entry<span class=\"p\">;</span>\n</code></pre></div>\n<p>Tá an chéad sampla eile níos airde; déanann sé fo-cheist chun tréith entry_count` a thabhairt do gach réad <code class=\"docutils literal notranslate\">`Blog</code> mar thoradh air, comhaireamh sláimhir na rudaí <code class=\"docutils literal notranslate\">Iontrála</code> gaolmhara:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>\n    select<span class=\"o\">=</span><span class=\"p\">{</span>\n        <span class=\"s2\">&quot;entry_count&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;SELECT COUNT(*) FROM blog_entry WHERE blog_entry.blog_id = blog_blog.id&quot;</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Sa chás áirithe seo, táimid ag leas as an bhfíric go mbeidh an tábla <code class=\"docutils literal notranslate\">blog_blog</code> sa chlásal <code class=\"docutils literal notranslate\">FROM</code> sa cheist cheana féin.</p>\n<p>Is é an SQL mar thoradh air den sampla thuas ná:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> blog_blog<span class=\"p\">.</span><span class=\"o\">*</span><span class=\"p\">,</span> <span class=\"p\">(</span><span class=\"k\">SELECT</span> <span class=\"k\">COUNT</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"p\">)</span> <span class=\"k\">FROM</span> blog_entry <span class=\"k\">WHERE</span> blog_entry<span class=\"p\">.</span>blog_id <span class=\"o\">=</span> blog_blog<span class=\"p\">.</span>id<span class=\"p\">)</span> <span class=\"k\">AS</span> entry_count\n<span class=\"k\">FROM</span> blog_blog<span class=\"p\">;</span>\n</code></pre></div>\n<p>Tabhair faoi deara nach bhfuil na lúibíní a éilíonn mórchuid na n-innill bunachar sonraí timpeall fo-cheisteanna ag teastáil i gclásail “roghnaigh” Django.</p>\n<p>I roinnt cásanna neamhchoitianta, b'fhéidir gur mhaith leat paraiméadair a chur chuig na blúirí SQL i <code class=\"docutils literal notranslate\">extra (roghnaigh =...) ``. Chun na críche seo, bain úsáid as an paraiméadar ``select_params</code>.</p>\n<p>Oibreoidh sé seo, mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>\n    select<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;a&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;b&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span><span class=\"p\">},</span>\n    select_params<span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;one&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;two&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Más gá duit <code class=\"docutils literal notranslate\">%s</code> litriúil a úsáid taobh istigh de do shreang roghnaithe, bain úsáid as an seicheamh <code class=\"docutils literal notranslate\">%%s</code>.</p>\n</li>\n<li><p><code class=\"docutils literal notranslate\">`cá háit ``/``tábla</code></p>\n<p>Is féidir leat clásail <code class=\"docutils literal notranslate\">WHERE</code> SQL sainráite a shainiú - b'fhéidir chun comhpháirteanna neamh-shoiléire a dhéanamh - trí <code class=\"docutils literal notranslate\">`a úsáid`</code>. Is féidir leat táblaí a chur de láimh leis an gclásal SQL <code class=\"docutils literal notranslate\">FROM</code> trí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>táblaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid.</p>\n<p>Glacann <code class=\"docutils literal notranslate\">````agus ``tábla</code> liosta teaghráin araon. Tá na paraiméadair <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>go léir “agus” déanta d'aon chritéir chuardaigh eile.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>where<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;foo=&#39;a&#39; OR bar = &#39;a&#39;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;baz = &#39;a&#39;&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>... aistríonn (go garbh) go dtí an SQL seo a leanas:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"o\">*</span> <span class=\"k\">FROM</span> blog_entry <span class=\"k\">WHERE</span> <span class=\"p\">(</span>foo<span class=\"o\">=</span><span class=\"s1\">&#39;a&#39;</span> <span class=\"k\">OR</span> bar<span class=\"o\">=</span><span class=\"s1\">&#39;a&#39;</span><span class=\"p\">)</span> <span class=\"k\">AND</span> <span class=\"p\">(</span>baz<span class=\"o\">=</span><span class=\"s1\">&#39;a&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Bí cúramach agus an paraiméadar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>táblaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>á úsáid agat má tá táblaí á shonrú agat a úsáidtear cheana féin sa cheist. Nuair a chuireann tú táblaí breise tríd an bparaiméadar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>táblaí <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>, glacann Django leis gur mhaith leat am breise a bheith san áireamh sa tábla sin, má tá sé san áireamh cheana féin. Cruthaíonn sé sin fadhb, ós rud é go dtabharfar ainm an tábla ansin. Má tá tábla le feiceáil arís agus arís i ráiteas SQL, ní mór don dara tarlú agus ina dhiaidh sin ainmneacha a úsáid ionas gur féidir leis an mbunachar sonraí iad a insint óna chéile. Má tá tú ag tagairt don tábla breise a chuir tú sa pharaiméadar breise <a href=\"#id9\"><span class=\"problematic\" id=\"id10\">``</span></a>cén áit <a href=\"#id11\"><span class=\"problematic\" id=\"id12\">``</span></a>beidh earráidí mar thoradh air seo.</p>\n<p>De ghnáth ní bheidh tú ag cur ach táblaí breise nach bhfuil le feiceáil sa cheist cheana féin. Mar sin féin, má tharlaíonn an cás a leagtar amach thuas, tá cúpla réiteach ann. Ar dtús, féach an féidir leat dul tríd gan an tábla breise a áireamh agus bain úsáid as an gceann atá sa cheist cheana féin. Mura féidir é sin a dhéanamh, cuir do ghlao <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>breise () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ag tosaigh an tógála tacar fiosraithe ionas gurb é do thábla an chéad úsáid den tábla sin. Faoi dheireadh, má theipeann ar gach rud eile, féach ar an bhfiosrú a tháirgtear agus athscríobh do bhreise <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>cá háit <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>chun an alias a thugtar do do thábla breise a úsáid. Beidh an t-ailias mar an gcéanna gach uair a thógann tú an tacar fiosrúcháin ar an mbealach céanna, ionas gur féidir leat brath ar an ainm alias gan athrú.</p>\n</li>\n<li><p><code class=\"docutils literal notranslate\">ordó_by</code></p>\n<p>Más gá duit an tacar iarratais a ordú ag baint úsáide as cuid de na réimsí nó na táblaí nua atá san áireamh agat trí <code class=\"docutils literal notranslate\">extra () ``bain úsáid as an paraiméadar ``order_by</code> go extra ()` agus pas i seicheamh teaghráin. Ba chóir go mbeadh na teaghráin seo ina réimsí samhail (mar atá sa modh gnáth:meth: order_by () `ar cheisteanna ceisteanna), den fhoirm ``table_name.column_name` nó ainm do cholún a shonraigh tú sa pharaiméadar <code class=\"docutils literal notranslate\">roghnaigh ``go `extra ()</code>.</p>\n<p>Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>q <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>select<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;is_recent&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;pub_date &gt; &#39;2006-01-01&#39;&quot;</span><span class=\"p\">})</span>\nq <span class=\"o\">=</span> q<span class=\"o\">.</span>extra<span class=\"p\">(</span>order_by<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;-is_recent&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>Sórtálfadh sé seo na míreanna go léir a bhfuil <code class=\"docutils literal notranslate\">is_recent</code> díreach maidir le tosaigh an tacar torthaí (<code class=\"docutils literal notranslate\">True</code> sórtálacha roimh <code class=\"docutils literal notranslate\">False</code> in ordú íslitheach).</p>\n<p>Taispeánann sé seo, dála an scéil, gur féidir leat glaonna iolracha a dhéanamh chuig <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>extra () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>agus iompróidh sé mar a bhíonn ag súil leat (srianta nua a chur leis gach uair).</p>\n</li>\n<li><p><code class=\"docutils literal notranslate\">Params</code></p>\n<p>Féadfaidh an paraiméadar <code class=\"docutils literal notranslate\">`a thuairiscítear thuas sealbhóirí teaghrán bunachar sonraí caighdeánach Python a úsáid - ```%s'</code> chun paraiméadair a léiriú ba chóir don inneall bunachar sonraí a lua go huath Is é an argóint <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>params' ná liosta d'aon pharaiméadair bhreise atá le cur in ionad.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>where<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;headline=</span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span><span class=\"p\">],</span> params<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>Úsáid params` i gcónaí in ionad luachanna a leabú go díreach isteach i <code class=\"docutils literal notranslate\">cén áit ``toisc go gcinnteoidh `params</code> luachanna i gceart de réir do chúltaca áirithe. Mar shampla, éalófar luachana i gceart.</p>\n<p>Droch:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>where<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;headline=&#39;Lennon&#39;&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>Go maith:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>extra<span class=\"p\">(</span>where<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;headline=</span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span><span class=\"p\">],</span> params<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n</li>\n</ul>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Má tá tú ag déanamh ceisteanna ar MySQL, tabhair faoi deara go bhféadfadh foréigean cineál ciúin MySQL a bheith ina chúis le torthaí gan choinne agus cineál Má fhiosraíonn tú ar cholún cineál sreangán, ach le luach sláimhir, cuirfidh MySQL na cineálacha na luachanna go léir sa tábla a chur i gcomhar sula ndéanann tú an comparáid. Mar shampla, má tá na luachanna <code class=\"docutils literal notranslate\">'abc'</code>, def'`` i do thábla agus má fhiosraíonn tú ar <code class=\"docutils literal notranslate\">WHERE mycolumn=0</code>, meaitneoidh an dá shraith. Chun é seo a chosc, déan an clóscáil cheart sula n-úsáidtear an luach i bhfiosrúchán.</p>\n</aside>\n</section>\n<section id=\"defer\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>iarchur () `<a class=\"heading-anchor\" href=\"#defer\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.defer\">\n<span class=\"sig-name descname\">defer</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.defer\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>I roinnt cásanna casta samhaltú sonraí, d'fhéadfadh go mbeadh go leor réimsí i do mhúnlaí, a bhféadfadh go leor sonraí a bheith i gcuid acu (mar shampla, réimsí téacs), nó próiseáil daor a bheith ag teastáil chun iad a thiontú go rudaí Python. Má tá torthaí tacar fiosrúcháin á úsáid agat i gcás éigin nach bhfuil a fhios agat an dteastaíonn na réimsí áirithe sin uait nuair a fhaigheann tú na sonraí ar dtús, is féidir leat a rá le Django gan iad a aisghabháil ón mbunachar sonraí.</p>\n<p>Déantar é seo trí ainmneacha na réimsí a chur ar aghaidh chun gan luchtú chuig <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>defer () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;body&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tabharfaidh tacar fiosrúcháin a bhfuil réimsí iarchurtha aige cásanna samhail ar ais fós. Aisghabfar gach réimse iarchurtha ón mbunachar sonraí má rochtain agat ar an réimse sin (ceann ag an am, ní na réimsí iarchurtha go léir ag an am céanna).</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Ní luchtálfaidh réimsí iarchurtha mar seo ó chód asincrónach. Ina áit sin, gheobhaidh tú eisceacht <code class=\"docutils literal notranslate\">SynchronousOnlyOperation</code>. Má tá cód asincrónach á scríobh agat, níor cheart duit iarracht a dhéanamh rochtain a fháil ar aon réimsí a dhéanann tú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>fiafraí () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n</aside>\n<p>Is féidir leat glaonna iolracha a dhéanamh chuig <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>fiafraigh () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Cuireann gach glao réimsí nua leis an tacar iarchurtha:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Defers both the body and headline fields.</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;body&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>rating<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span><span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is cuma an t-ord ina gcuirtear réimsí leis an tacar iarchurtha. Tá sé neamhdhíobhálach a ghlaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>déanamh () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le hainm réimse atá curtha ar iarchur cheana féin (cuirfear an réimse ar iarchur fós).</p>\n<p>Féadfaidh tú luchtú réimsí i samhlacha gaolmhara a chur siar (má tá na samhlacha gaolmhara ag luchtú via:meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>) tríd an nótaí caighdeánach béim dhúbailte a úsáid chun réimsí gaolmhara ar leithligh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">()</span><span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;entry__headline&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;entry__body&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Más mian leat an tacar réimsí iarchurtha a ghlanadh, cuir <code class=\"docutils literal notranslate\">None</code> mar pharaiméadar chuig <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>defer () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Load all fields immediately.</span>\nmy_queryset<span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ní iarchurfar roinnt réimsí i samhail, fiú má iarrann tú iad. Ní féidir leat luchtú an phríomh-eochair a chur siar riamh. Má tá tú ag úsáid: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>chun samhlacha gaolmhara a aisghabháil, níor cheart duit luchtú an réimse a nascann ón bpríomh-mhúnla leis an gceann gaolmhar a chur siar, agus beidh earráid mar thoradh air sin.</p>\n<p>Ar an gcaoi chéanna, ní bhíonn ciall ag glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>defer () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>(nó a chontrapháirt:meth: only () `) lena n-áirítear argóint ó chomhiomlánú (m.sh. ag úsáid toradh de:meth: `annotate ()): ardóidh eisceacht ag déanamh amhlaidh. Tabharfar na luachanna comhiomlánaithe isteach sa tacar fiosrúcháin mar thoradh air i gcónaí.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Níl an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>defer () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>(agus a chathrach, :meth: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>only () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>, thíos) ach le haghaidh ardchásanna úsáide. Soláthraíonn siad barrfheabhsú nuair a dhéanann tú anailís go dlúth ar do chuid ceisteanna agus tuigeann tú <em>go beacht</em> cén fhaisnéis a theastaíonn uait agus a thomhas go mbeidh an difríocht idir na réimsí a theastaíonn uait a thabhairt ar ais agus an tacar iomlán réimsí don tsamhail suntasach.</p>\n<p>Fiú má cheapann tú go bhfuil tú sa chás ardchás úsáide, ** húsáid ach ** <code class=\"docutils literal notranslate\">fiafraigh () ``**nuair nach féidir leat, ag am luchtaithe ceisteanna socraithe, a chinneadh an mbeidh na réimsí breise ag teastáil uait nó ní**. Má tá fo-thacar áirithe de do shonraí á luchtú agus ag úsáid tú go minic, is é an rogha is fearr is féidir leat a dhéanamh ná do mhúnlaí a normalú agus na sonraí neamh-luchtaithe a chur i samhail ar leithligh (agus tábla bunachar sonraí). Má chaithfidh na colúin ** fanacht sa tábla amháin ar chúis éigin, cruthaigh samhail &lt;django.db.models.Options.managed&gt;le `Meta.managed = False</code> (féach an doiciméadach:attr: treit bhainistithe `) ina bhfuil ach na réimsí a chaithfidh tú a luchtú agus bain úsáid as sin ina bhféadfá ``defer () a ghlaoch ar shlí eile. Déanann sé seo do chód níos soiléire don léitheoir, tá sé beagán níos gasta agus ídíonn sé beagán níos lú cuimhne sa phróiseas Python.</p>\n<p>Mar shampla, úsáideann an dá mhúnla seo an tábla bunachar sonraí céanna:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span> <span class=\"nc\">CommonlyUsedModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    f1 <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n\n    <span class=\"k\">class</span> <span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        managed <span class=\"o\">=</span> <span class=\"kc\">False</span>\n        db_table <span class=\"o\">=</span> <span class=\"s2\">&quot;app_largetable&quot;</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">ManagedModel</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    f1 <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n    f2 <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n\n    <span class=\"k\">class</span> <span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        db_table <span class=\"o\">=</span> <span class=\"s2\">&quot;app_largetable&quot;</span>\n\n\n<span class=\"c1\"># Two equivalent QuerySets:</span>\nCommonlyUsedModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\nManagedModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;f2&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Más gá go leor réimsí a dhúbailt sa tsamhail neamh-bhainistithe, b'fhéidir gur fearr samhail teibí a chruthú leis na réimsí roinnte agus ansin na samhlacha neamh-bhainistithe agus bainistithe a bheith oidhreachta ón tsamhail teibí.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Agus tú ag glaoch: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.db.models.model.save () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>le haghaidh cásanna le réimsí iarchurtha, ní shábhálfar ach na réimsí luchtaithe. Féach: Meth: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>~django.db.models.model.save () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>le haghaidh tuilleadh sonraí.</p>\n</aside>\n</section>\n<section id=\"only\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>amháin () `<a class=\"heading-anchor\" href=\"#only\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.only\">\n<span class=\"sig-name descname\">only</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.only\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Go bunúsach is é an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>only () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a mhalairt de:meth: iarchur. Ní dhéantar ach na réimsí a chuirtear isteach sa mhodh seo agus nach nd* atá sonraithe cheana féin mar iarchurtha a luchtú láithreach nuair a dhéantar an tacar fiosrúcháin a mheas.</p>\n<p>Má tá samhail agat ina gcaithfear beagnach na réimsí go léir a chur siar, d'fhéadfadh cód níos simplí a bheith mar thoradh ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>only () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>chun an tacar chomhlántach réimsí a shonrú.</p>\n<p>Cuir i gcás go bhfuil samhail agat le réimsí <code class=\"docutils literal notranslate\">ainm ``, `aois</code> agus <code class=\"docutils literal notranslate\">beathaisnéis</code>. Tá an dá cheist seo a leanas mar an gcéanna, i dtéarmaí réimsí iarchurtha:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;age&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;biography&quot;</span><span class=\"p\">)</span>\nPerson<span class=\"o\">.</span>objects<span class=\"o\">.</span>only<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Aon uair a ghlaonn tú ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>only () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, ath* aith* an tacar réimsí le luchtú láithreach. Is é ainm an mhodha mnemonic: <strong>amháin</strong> luchtaítear na réimsí sin láithreach; cuirtear an chuid eile ar iarchur. Mar sin, ní bhreithnítear ach na réimsí deiridh ar na réimsí deiridh mar thoradh ar ghlaonna i ndiaidh a chéile ar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>only () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># This will defer all fields except the headline.</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>only<span class=\"p\">(</span><span class=\"s2\">&quot;body&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;rating&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>only<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ós rud é go ngníomhaíonn <code class=\"docutils literal notranslate\">diafraigh () ``go hincneamhach (réimsí a chur leis an liosta iarchurtha), is féidir leat glaonna a chur le ``only ()</code> agus <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>deafer () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a chomhcheangal agus iompraíonn rudaí go loighciúil:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Final result is that everything except &quot;headline&quot; is deferred.</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>only<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;body&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;body&quot;</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># Final result loads headline immediately.</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>defer<span class=\"p\">(</span><span class=\"s2\">&quot;body&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>only<span class=\"p\">(</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;body&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Baineann na rabhaidh go léir sa nóta maidir leis an doiciméadúisíocht: “athchur” le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>only () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>chomh maith. Úsáid é go cúramach agus ach amháin tar éis do roghanna eile a ídiú.</p>\n<p>Is earráid é <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>only () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid agus réimse a iarrtar a fhágáil ag baint úsáid:meth: select_related freisin. Ar an láimh eile, cuirfear glaoch ar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>only () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>gan aon argóintí, gach réimse (lena n-áirítear anótaí) a gheobhaidh an tacar fiosrúcháin ar ais.</p>\n<p>Mar is amhlaidh le <code class=\"docutils literal notranslate\">defer () ``, ní féidir leat rochtain a fháil ar na réimsí neamh-luchtaithe ó chód asincrónach agus a bheith ag súil go luchtálfaidh siad. Ina áit sin, gheobhaidh tú eisceacht ``SynchronousOnlyOperation</code>. Déan cinnte go bhfuil gach réimse a d'fhéadfá rochtain a fháil i do ghlao <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>only () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Agus tú ag glaoch: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.db.models.model.save () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>le haghaidh cásanna le réimsí iarchurtha, ní shábhálfar ach na réimsí luchtaithe. Féach: Meth: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>~django.db.models.model.save () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>le haghaidh tuilleadh sonraí.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Nuair a úsáidtear: meth: iarchur tar éis <code class=\"docutils literal notranslate\">only () ``, cuirfidh na réimsí in:meth: `iarchur ``only ()</code> i gcás réimsí atá liostaithe sa dá cheann.</p>\n</aside>\n</section>\n<section id=\"using\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ag baint úsáide as () `<a class=\"heading-anchor\" href=\"#using\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.using\">\n<span class=\"sig-name descname\">using</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">alias</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.using\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Is é an modh seo chun rialú a dhéanamh ar an mbunachar sonraí a dhéanfar meastóireacht ar an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet` i gcoinne má tá níos mó ná bunachar sonraí amháin á úsáid agat. Is é an t-aon argóint a ghlacann an modh seo ná ainm bunachar sonraí, mar a shainmhínítear in:setting: DATABASES.</p>\n<p>Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"go\"># queries the database with the &#39;default&#39; alias.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n\n<span class=\"go\"># queries the database with the &#39;backup&#39; alias</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>using<span class=\"p\">(</span><span class=\"s2\">&quot;backup&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"select-for-update\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>roghnaithe_for_nuashonraithe () ``<a class=\"heading-anchor\" href=\"#select-for-update\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.select_for_update\">\n<span class=\"sig-name descname\">select_for_update</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">nowait<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">skip_locked<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">of<span class=\"o\">=</span><span class=\"default_value\">()</span></em>, <em class=\"sig-param\">no_key<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.select_for_update\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tugann sé tacar ceisteanna ar ais a ghlasálfaidh sraitheanna go dtí deireadh an idirbheart, ag gint <code class=\"docutils literal notranslate\">ROGHNAIGH... LE HAGHAIDH UPDATE</code> Ráiteas SQL ar bhunachair sonraí tacaithe.</p>\n<p>Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> transaction\n\nentries <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_for_update<span class=\"p\">()</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>author<span class=\"o\">=</span>request<span class=\"o\">.</span>user<span class=\"p\">)</span>\n<span class=\"k\">with</span> transaction<span class=\"o\">.</span>atomic<span class=\"p\">():</span>\n    <span class=\"k\">for</span> entry <span class=\"ow\">in</span> entries<span class=\"p\">:</span>\n        <span class=\"o\">...</span>\n</code></pre></div>\n<p>Nuair a dhéantar an tacar fiosrúcháin a mheas (<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>le haghaidh iontrála in iontrálacha <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>sa chás seo), cuirfear gach iontráil comhoiriúnach faoi ghlas go dtí deireadh an bhloc idirbheart, rud a chiallaíonn go gcuirfear cosc ar idirbhearta eile glais a athrú nó a fháil orthu.</p>\n<p>De ghnáth, má tá glas faighte ag idirbheart eile cheana féin ar cheann de na sraitheanna roghnaithe, cuirfidh an ceist bac go dtí go scaoilfear an glas. Mura bhfuil sé seo an t-iompar atá uait, glaoigh ar <code class=\"docutils literal notranslate\">select_for_update (noWait=true) ``. Déanfaidh sé seo an glao gan bhlocáil. Má fhaightear glas contrártha cheana féin le hidirbheart eile, ardófar :exc: `~django.db.databaseError` nuair a dhéantar an tacar fiosrúcháin a mheas. Is féidir leat neamhaird a dhéanamh freisin ar shraitheanna faoi ghlas trí ``select_for_update (skip_locked=True) ``a úsáid ina ionad. Tá na `nowait</code> agus <code class=\"docutils literal notranslate\">skip_locked</code> frithpháirteach agus beidh a: exc: ValueError mar thoradh ar iarrachtaí glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>agus an dá rogha cumasaithe.</p>\n<p>De réir réamhshocraithe, glasaíonn <code class=\"docutils literal notranslate\">select_for_update () ``gach sraitheanna a roghnaíonn an cheist. Mar shampla, tá sraitheanna rudaí gaolmhara a shonraítear in:meth: `select_related` faoi ghlas i dteannta sraitheanna de mhúnla an tacar fiosrúcháin. Mura bhfuil sé seo ag teastáil, sonraigh na rudaí gaolmhara a theastaíonn uait a ghlasáil in ``select_for_update (of= (...)) ``ag baint úsáide as comhréir na réimsí céanna mar: meth: `select_related`. Úsáid an luach ``'self'</code> chun tagairt a dhéanamh do mhúnla an tacar fiosrúcháin.</p>\n<aside class=\"admonition-lock-parents-models-in-select-for-update-of admonition\" role=\"note\">\n<p class=\"admonition-title\">Glas samhlacha tuismitheoirí i <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update (de =( ... )) ``</p>\n<p>Más mian leat samhlacha tuismitheoirí a ghlasáil agus tú ag úsáid:ref: oidhreacht il-tábla &lt;multi-table-inheritance&gt;, ní mór duit réimsí nasc tuismitheoirí a shonrú (de réir réamhshocraithe <code class=\"docutils literal notranslate\">&lt;parent_model_name&gt;_ptr</code>) san argóint <code class=\"docutils literal notranslate\">of</code>. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_for_update<span class=\"p\">(</span>of<span class=\"o\">=</span><span class=\"p\">(</span><span class=\"s2\">&quot;self&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;place_ptr&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n</aside>\n<aside class=\"admonition-using-select-for-update-of-with-specified-fields admonition\" role=\"note\">\n<p class=\"admonition-title\">Ag baint úsáide as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update (of= (...)) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le réimsí sonraithe</p>\n<p>Más mian leat samhlacha a ghlasáil agus réimsí roghnaithe a shonrú, m.sh. ag baint úsáide as: meth: luacha, ní mór duit réimse amháin ar a laghad a roghnú ó gach samhail san argóint <code class=\"docutils literal notranslate\">of</code>. Ní ghlasálfar samhlacha gan réimsí roghnaithe.</p>\n</aside>\n<p>Ar PostgreSQL amháin, is féidir leat <code class=\"docutils literal notranslate\">no_key=true</code> a rith d'fhonn glas níos laige a fháil, a cheadaíonn sraitheanna a chruthú nach dtagraíonn ach sraitheanna faoi ghlas (trí eochair eachtrach, mar shampla) agus an glas i bhfeidhm. &lt; <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-ROWS\">https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-ROWS</a>&gt;Tá tuilleadh sonraí ag doiciméadú PostgreSQL faoi <a href=\"#id14\"><span class=\"problematic\" id=\"id15\">`modhanna glasála leibhéal sraithe`_</span></a>.</p>\n<p>Ní féidir leat <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid ar chaidrimh neamhnaithe:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;hometown&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>select_for_update<span class=\"p\">()</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"c\">...</span>\n<span class=\"gr\">django.db.utils.NotSupportedError</span>: FOR UPDATE cannot be applied to the nullable side of an outer join\n</code></pre></div>\n<p>Chun an srian sin a sheachaint, is féidir leat rudaí neall a eisiamh mura bhfuil cúram ort fúthu:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>select_related<span class=\"p\">(</span><span class=\"s2\">&quot;hometown&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>select_for_update<span class=\"p\">()</span><span class=\"o\">.</span>exclude<span class=\"p\">(</span>hometown<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Person: ...)&gt;, ...]&gt;</span>\n</code></pre></div>\n<p>Tacaíonn cúltaca bunachar sonraí <code class=\"docutils literal notranslate\">postgresql</code>, <code class=\"docutils literal notranslate\">oracle</code>, agus <code class=\"docutils literal notranslate\">mysql</code> <code class=\"docutils literal notranslate\">select_for_update () ``. Mar sin féin, ní thacaíonn MariaDB ach leis an argóint ``nowait ``, tacaíonn MariaDB 10.6+ leis an argóint ``skip_locked</code> freisin, agus tacaíonn MySQL leis na hargóintí <code class=\"docutils literal notranslate\">nowait</code>, skip_locked`, agus <code class=\"docutils literal notranslate\">of</code>. Ní thacaítear leis an argóint <code class=\"docutils literal notranslate\">no_key</code> ach ar PostgreSQL.</p>\n<p>Ag dul <code class=\"docutils literal notranslate\">noWait=True</code>, skip_locked=true`, no_key=true`, nó <code class=\"docutils literal notranslate\">of</code> go <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ag baint úsáide as cúltaca bunachar sonraí nach dtacaíonn leis na roghanna seo, mar MySQL, ardaíonn a:exc: ~django.db.notSupportedError. Cuireann sé seo cosc ar chód ó bhlocáil gan choinne.</p>\n<p>Meastóireacht a dhéanamh ar shraith ceisteanna le <code class=\"docutils literal notranslate\">select_for_update () ``i mód uathchomhcheangail ar chúltaca a thacaíonn le ``SELECT... LE HAGHAIDH UPDATE</code> is é:: exc: ~django.db.transaction.transactionManagementError earráid toisc nach bhfuil na sraitheanna faoi ghlas sa chás sin. Má cheadaítear é, éascódh sé seo éilliú sonraí agus d'fhéadfadh sé a bheith ina chúis go héasca trí chód glaonna atá ag súil go reáchtálfar in idirbheart lasmuigh de cheann amháin.</p>\n<p>Ag baint úsáide as <code class=\"docutils literal notranslate\">select_for_update () ``ar chúltaca nach dtacaíonn le ``SELECT... LE HAGHAIDH NUASHONRÚ ``(mar shampla SQLite) ní bheidh aon éifeacht ag. ``ROGHNAIGH... NÍ chuirfear FOR UPDATE</code> leis an bhfiosrú, agus ní ardaítear earráid má úsáidtear <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>i mód autocommit.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Cé go dteipeann <code class=\"docutils literal notranslate\">select_for_update () ``de ghnáth i mód autocommit, ós rud é go ndéanfaidh: class: `~django.test.testcase` gach tástáil i idirbheart go huathoibríoch, ag glaoch ``select_for_update () `i `testcase</code> fiú taobh amuigh an:func: ~django.db.transaction.atomic ().) pas gan <code class=\"docutils literal notranslate\">TransactionManagementError</code> a ardú. Chun <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a thástáil i gceart ba cheart duit:class: ~django.test.transactionTestCase a úsáid.</p>\n</aside>\n<aside class=\"admonition-certain-expressions-may-not-be-supported admonition\" role=\"note\">\n<p class=\"admonition-title\">Ní fhéadfar tacú le nathanna áirithe</p>\n<p>Ní thacaíonn PostgreSQL le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>select_for_update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>le nathanna: class: ~django.db.Models.Expressions.Window.</p>\n</aside>\n</section>\n<section id=\"raw\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>amh () ``<a class=\"heading-anchor\" href=\"#raw\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.raw\">\n<span class=\"sig-name descname\">raw</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">raw_query</em>, <em class=\"sig-param\">params<span class=\"o\">=</span><span class=\"default_value\">()</span></em>, <em class=\"sig-param\">translations<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">using<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.raw\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tógann sé ceist amh SQL, cuireann sé i bhfeidhm é, agus filleann sé sampla <code class=\"docutils literal notranslate\">Django.db.Models.Query.RawQuerySet ``. Is féidir an cás ``RawQuerySet</code> seo a athrú díreach cosúil le gnáth-<code class=\"docutils literal notranslate\">QuerySet</code> chun cásanna réada a sholáthar.</p>\n<p>Féach an:doc: /topics/db/sql le haghaidh tuilleadh eolais.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Spreagann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>raw () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ceist nua i gcónaí agus ní chuireann sé cuntas ar scagadh roimhe seo. Mar sin, ba chóir é a ghlaoch go ginearálta ón “Bainisteoir” nó ó shampla úr <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>QuerySet`.</p>\n</aside>\n</section>\n</section>\n<section id=\"operators-that-return-new-querysets\">\n<h3>Oibreoirí a chuireann ar ais <code class=\"docutils literal notranslate\">QuerySet</code>s nua<a class=\"heading-anchor\" href=\"#operators-that-return-new-querysets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ní mór do cheisteanna comhcheangailte an tsamhail chéanna a úsáid.</p>\n<section id=\"and\">\n<h4>AGUS (<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>&amp; <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>)<a class=\"heading-anchor\" href=\"#and\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Comhcheanglaíonn dhá <code class=\"docutils literal notranslate\">QuerySet</code> ag baint úsáide as an oibreoir <code class=\"docutils literal notranslate\">AND</code> SQL ar bhealach cosúil le scagairí slabhraithe.</p>\n<p>Tá na nithe seo a leanas coibhéiseach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Model<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>x<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">&amp;</span> Model<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\nModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>x<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> x<span class=\"o\">=</span><span class=\"mi\">1</span> <span class=\"k\">AND</span> y<span class=\"o\">=</span><span class=\"mi\">2</span>\n</code></pre></div>\n</section>\n<section id=\"or\">\n<h4>NÓ (<code class=\"docutils literal notranslate\">|</code>)<a class=\"heading-anchor\" href=\"#or\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Comhcheanglaíonn dhá <code class=\"docutils literal notranslate\">QuerySet</code>s ag baint úsáide as an oibreoir SQL <code class=\"docutils literal notranslate\">OR</code>.</p>\n<p>Tá na nithe seo a leanas coibhéiseach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Model<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>x<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">|</span> Model<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Q\n\nModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>Q<span class=\"p\">(</span>x<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">|</span> Q<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> x<span class=\"o\">=</span><span class=\"mi\">1</span> <span class=\"k\">OR</span> y<span class=\"o\">=</span><span class=\"mi\">2</span>\n</code></pre></div>\n<p>Ní oibríocht chomhlaitheach é |`, toisc go bhféadfar ceisteanna difriúla (cé go coibhéiseach) a ghiniúint.</p>\n</section>\n<section id=\"xor\">\n<h4>XOR (<code class=\"docutils literal notranslate\">^</code>)<a class=\"heading-anchor\" href=\"#xor\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Comhcheanglaíonn dhá <code class=\"docutils literal notranslate\">QuerySet</code>s ag baint úsáide as an oibreoir SQL <code class=\"docutils literal notranslate\">XOR</code>. Meaitseálann abairt <code class=\"docutils literal notranslate\">XOR</code> sraitheanna atá comhoiriúnach le líon aige oibrandaí.</p>\n<p>Tá na nithe seo a leanas coibhéiseach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Model<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>x<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">^</span> Model<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n<span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Q\n\nModel<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>Q<span class=\"p\">(</span>x<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">^</span> Q<span class=\"p\">(</span>y<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> x<span class=\"o\">=</span><span class=\"mi\">1</span> XOR y<span class=\"o\">=</span><span class=\"mi\">2</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Tugtar tacaíocht dúchasach le <code class=\"docutils literal notranslate\">XOR</code> ar MariaDB agus MySQL. Ar bhunachair sonraí eile, déantar <code class=\"docutils literal notranslate\">x ^ y ^... ^ z</code> a thiontú go coibhéis:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"p\">(</span>x <span class=\"k\">OR</span> y <span class=\"k\">OR</span> <span class=\"p\">...</span> <span class=\"k\">OR</span> z<span class=\"p\">)</span> <span class=\"k\">AND</span>\n<span class=\"mi\">1</span><span class=\"o\">=</span><span class=\"k\">MOD</span><span class=\"p\">(</span>\n    <span class=\"p\">(</span><span class=\"k\">CASE</span> <span class=\"k\">WHEN</span> x <span class=\"k\">THEN</span> <span class=\"mi\">1</span> <span class=\"k\">ELSE</span> <span class=\"mi\">0</span> <span class=\"k\">END</span><span class=\"p\">)</span> <span class=\"o\">+</span>\n    <span class=\"p\">(</span><span class=\"k\">CASE</span> <span class=\"k\">WHEN</span> y <span class=\"k\">THEN</span> <span class=\"mi\">1</span> <span class=\"k\">ELSE</span> <span class=\"mi\">0</span> <span class=\"k\">END</span><span class=\"p\">)</span> <span class=\"o\">+</span>\n    <span class=\"p\">...</span>\n    <span class=\"p\">(</span><span class=\"k\">CASE</span> <span class=\"k\">WHEN</span> z <span class=\"k\">THEN</span> <span class=\"mi\">1</span> <span class=\"k\">ELSE</span> <span class=\"mi\">0</span> <span class=\"k\">END</span><span class=\"p\">),</span>\n    <span class=\"mi\">2</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n</aside>\n</section>\n</section>\n<section id=\"methods-that-do-not-return-querysets\">\n<h3>Modhanna nach gcuireann ar ais <code class=\"docutils literal notranslate\">QuerySet</code>s<a class=\"heading-anchor\" href=\"#methods-that-do-not-return-querysets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Déanann na modhanna <code class=\"docutils literal notranslate\">QuerySet</code> seo a leanas measúnú ar an <code class=\"docutils literal notranslate\">QuerySet</code> agus cuireann siad rud éigin seachas <code class=\"docutils literal notranslate\">QuerySet</code> ar ais.</p>\n<p>Ní úsáideann na modhanna seo taisce (féach:ref: caching-and-querysets). Ina ionad sin, fiosraíonn siad an bunachar sonraí gach uair a ghlaofar orthu.</p>\n<p>Toisc go ndéanann na modhanna seo measúnú ar an QuerySet, tá siad ag blocáil glaonna, agus mar sin ní féidir a bpríomhleaganacha (sioncronacha) a ghlaoch ó chód asincrónach. Ar an gcúis seo, tá leagan asincrónach comhfhreagrach ag gach ceann acu le réimír <code class=\"docutils literal notranslate\">a</code> - mar shampla, seachas <code class=\"docutils literal notranslate\">get (...) ``is féidir leat ``fanacht aget (...)</code>.</p>\n<p>De ghnáth ní bhíonn aon difríocht in iompar seachas a nádúr asincrónach, ach tugtar faoi deara aon difríochtaí thíos in aice le gach modh.</p>\n<section id=\"get\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get () `<a class=\"heading-anchor\" href=\"#get\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.get\">\n<span class=\"sig-name descname\">get</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.get\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aget\">\n<span class=\"sig-name descname\">aget</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aget () ``</p>\n<p>Filleann sé an réad a mheaitseálann na paraiméadair chuardaigh a thugtar, ar chóir go mbeadh sa fhormáid a thuairiscítear i <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Cuardach réimse <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_ Ba chóir duit cuardaigh a úsáid atá ráthaithe uathúil, mar shampla an príomh-eochair nó réimsí i srian uathúil. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>Q<span class=\"p\">(</span>blog<span class=\"o\">=</span>blog<span class=\"p\">)</span> <span class=\"o\">&amp;</span> Q<span class=\"p\">(</span>entry_number<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>Má tá tú ag súil go bhfaighidh tacar ceisteanna sraith amháin ar ais cheana féin, is féidir leat <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid gan aon argóintí chun an réad don tsraith sin a thabhairt ar ais:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">()</span>\n</code></pre></div>\n<p>&lt;django.db.models.Model.DoesNotExist&gt;Mura bhfaigheann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>aon rud, ardaíonn sé: exc: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>Model.doesNotExist <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>eisceacht:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=-</span><span class=\"mi\">999</span><span class=\"p\">)</span>  <span class=\"c1\"># raises Entry.DoesNotExist</span>\n</code></pre></div>\n<p>&lt;django.db.models.Model.MultipleObjectsReturned&gt;Má aimsíonn <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>níos mó ná réad amháin, ardaíonn sé a: exc: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>Model.MultipleObjectsReturned <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>eisceacht:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>name<span class=\"o\">=</span><span class=\"s2\">&quot;A Duplicated Name&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># raises Entry.MultipleObjectsReturned</span>\n</code></pre></div>\n<p>Is tréithe den rang samhail iad an dá rang eisceachta seo, agus go sonrach don tsamhail sin. Más mian leat eisceachtaí den sórt sin a láimhseáil ó roinnt glaonna <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ar mhúnlaí éagsúla, is féidir leat a n-aicmí bonn cineálacha a úsáid. Mar shampla, is féidir leat: exc: Django.Core.Exceptions.ObjectDoesNotExist a úsáid chun láimhseáil: exc: ~django.db.models.model.doesNotExist eisceachtaí ó iolracha samhlacha:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.core.exceptions</span> <span class=\"kn\">import</span> ObjectDoesNotExist\n\n<span class=\"k\">try</span><span class=\"p\">:</span>\n    blog <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n    entry <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>blog<span class=\"o\">=</span>blog<span class=\"p\">,</span> entry_number<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n<span class=\"k\">except</span> ObjectDoesNotExist<span class=\"p\">:</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Either the blog or entry doesn&#39;t exist.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"create\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>cruthaigh () ``<a class=\"heading-anchor\" href=\"#create\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.create\">\n<span class=\"sig-name descname\">create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.acreate\">\n<span class=\"sig-name descname\">acreate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.acreate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">acreate()</code></p>\n<p>Modh áisiúlachta chun réad a chruthú agus é go léir a shábháil i gcéim amháin. Dá bhrí sin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>p <span class=\"o\">=</span> Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;Bruce&quot;</span><span class=\"p\">,</span> last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Springsteen&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>agus:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>p <span class=\"o\">=</span> Person<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;Bruce&quot;</span><span class=\"p\">,</span> last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Springsteen&quot;</span><span class=\"p\">)</span>\np<span class=\"o\">.</span>save<span class=\"p\">(</span>force_insert<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>iad coibhéiseach.</p>\n<p>Tá an paraim &lt;ref-models-force-insert&gt;éadair: ref: force_insert `doiciméadaithe in áiteanna eile, ach ní chiallaíonn sé ach go gcruthófar réad nua i gcónaí. De ghnáth ní bheidh ort a bheith buartha faoi seo. Mar sin féin, má tá príomh-luach láimhe i do mhúnla a shocraíonn tú agus má tá an luach sin ann cheana sa bhunachar sonraí, teipeann ar ghlao ar `create () ``le an:exc: `~django.db.IntegrityError ós rud é go gcaithfidh eochracha bunscoile a bheith uathúil. Bí réidh chun an eisceacht a láimhseáil má tá eochracha bunscoile láimhe á úsáid agat.</p>\n</section>\n<section id=\"get-or-create\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get_or_create () `<a class=\"heading-anchor\" href=\"#get-or-create\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.get_or_create\">\n<span class=\"sig-name descname\">get_or_create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">defaults<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.get_or_create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aget_or_create\">\n<span class=\"sig-name descname\">aget_or_create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">defaults<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aget_or_create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aget_or_create () ``</p>\n<p>Modh áisiúlachta chun réad a chuardach leis an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>kwargs <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>tugtha (féadfaidh sé a bheith folamh má tá réamhshocruithe ag do mhúnla do gach réimse), ag cruthú ceann más gá.</p>\n<p>Filleann sé tuple de <code class=\"docutils literal notranslate\">(réad, cruthaithe)</code>, áit gurb é <code class=\"docutils literal notranslate\">réad ``an réad aisghabháilte nó cruthaithe agus is boolean é ``cruthaithe</code> a shonraíonn an cruthaíodh réad nua.</p>\n<p>Tá sé seo i gceist chun rudaí dúblacha a chruthú nuair a dhéantar iarratais go comhthreomhar, agus mar aicearra chuig cód boilerplatish. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">try</span><span class=\"p\">:</span>\n    obj <span class=\"o\">=</span> Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span> last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n<span class=\"k\">except</span> Person<span class=\"o\">.</span>DoesNotExist<span class=\"p\">:</span>\n    obj <span class=\"o\">=</span> Person<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span> last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">,</span> birthday<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1940</span><span class=\"p\">,</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">9</span><span class=\"p\">))</span>\n    obj<span class=\"o\">.</span>save<span class=\"p\">()</span>\n</code></pre></div>\n<p>Anseo, le hiarratais chomhthráthacha, féadfar iarrachtaí iolracha chun <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Duine <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a shábháil leis na paraiméadair chéanna. Chun an coinníoll rása seo a sheachaint, is féidir an sampla thuas a athscríobh ag baint úsáide as <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>get_or_create () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>mar sin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>obj<span class=\"p\">,</span> created <span class=\"o\">=</span> Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>\n    first_name<span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span>\n    last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">,</span>\n    defaults<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;birthday&quot;</span><span class=\"p\">:</span> date<span class=\"p\">(</span><span class=\"mi\">1940</span><span class=\"p\">,</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">9</span><span class=\"p\">)},</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Úsáidfear aon argóintí eochairfhocal a chuirtear chuig <code class=\"docutils literal notranslate\">get_or_create () ``- *seachas ceann roghnach ar a dtugtar ``defaults</code> - i nglao a:meth: get () `. Má aimsítear réad, filleann ``get_or_create () ``tuple den réad sin agus ``False`.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Tá an modh seo adamach ag glacadh leis go gcuireann an bunachar sonraí uathúlacht na n-argóintí eochairfhocal i bhfeidhm (féach: attr: ~django.db.models.field.unique nó: attr: ~django.db.models.options.unique_together). Mura bhfuil srian uathúlachta ag na réimsí a úsáidtear sna hargóintí eochairfhocal, d'fhéadfadh go mbeadh sraitheanna iolracha leis na paraiméadair chéanna isteach mar thoradh ar ghlaonna comharthacha ar an modh seo.</p>\n</aside>\n<p>&lt;django.db.models.Q&gt;Is féidir leat coinníollacha níos casta a shonrú don réad aisghabháilte trí <code class=\"docutils literal notranslate\">get_or_create () ``a shlánú le ``filter ()</code> agus ag baint úsáid:class: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Q rudaí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>. Mar shampla, chun Robert nó Bob Marley a aisghabháil má tá ceachtar acu ann, agus an dara ceann a chruthú ar shlí eile:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Q\n\nobj<span class=\"p\">,</span> created <span class=\"o\">=</span> Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>\n    Q<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;Bob&quot;</span><span class=\"p\">)</span> <span class=\"o\">|</span> Q<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;Robert&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">)</span><span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Marley&quot;</span><span class=\"p\">,</span> defaults<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Bob&quot;</span><span class=\"p\">})</span>\n</code></pre></div>\n<p>Má aimsítear rudaí iolracha, ardaíonn <code class=\"docutils literal notranslate\">get_or_create () `:exc: `~django.core.exceptions.multipleObjectsReturned`. Má aimsítear réad *ní fhaightear, déanfaidh `get_or_create () ``réad nua a thabhairt isteach agus a shábháil, ag tabhairt tuple den réad nua agus ``True</code> ar ais. Cruthófar an réad nua go garbh de réir an algartam seo:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>params <span class=\"o\">=</span> <span class=\"p\">{</span>k<span class=\"p\">:</span> v <span class=\"k\">for</span> k<span class=\"p\">,</span> v <span class=\"ow\">in</span> kwargs<span class=\"o\">.</span>items<span class=\"p\">()</span> <span class=\"k\">if</span> <span class=\"s2\">&quot;__&quot;</span> <span class=\"ow\">not</span> <span class=\"ow\">in</span> k<span class=\"p\">}</span>\nparams<span class=\"o\">.</span>update<span class=\"p\">({</span>k<span class=\"p\">:</span> v<span class=\"p\">()</span> <span class=\"k\">if</span> <span class=\"nb\">callable</span><span class=\"p\">(</span>v<span class=\"p\">)</span> <span class=\"k\">else</span> v <span class=\"k\">for</span> k<span class=\"p\">,</span> v <span class=\"ow\">in</span> defaults<span class=\"o\">.</span>items<span class=\"p\">()})</span>\nobj <span class=\"o\">=</span> <span class=\"bp\">self</span><span class=\"o\">.</span>model<span class=\"p\">(</span><span class=\"o\">**</span>params<span class=\"p\">)</span>\nobj<span class=\"o\">.</span>save<span class=\"p\">()</span>\n</code></pre></div>\n<p>I mBéarla, ciallaíonn sé sin tosú le haon argóint eochairfhocal neamh-<code class=\"docutils literal notranslate\">defaults</code> nach bhfuil béim dhúbailte ann (a chuirfeadh le fios cuardach neamhchruinn). Ansin cuir ábhar defaults`, ag cur aon eochracha a shárú más gá, agus bain úsáid as an toradh mar na hargóintí eochairfhocal chuig an rang samhail. Má tá aon ghlaonna in <code class=\"docutils literal notranslate\">defaults</code>, déan meastóireacht orthu. Mar a thuairiscítear thuas, is simplíocht é seo ar an algartam a úsáidtear, ach tá na sonraí ábhartha go léir ann. Tá níos mó seiceála earráidí ag an gcur i bhfeidhm inmheánach ná seo agus láimhseálann sé roinnt coinníollacha imeall breise; má tá suim agat, léigh an cód.</p>\n<p>Má tá réimse agat darb ainm <code class=\"docutils literal notranslate\">defaults</code> agus má theastaíonn uait é a úsáid mar chuardach cruinn i <code class=\"docutils literal notranslate\">get_or_create () ``, bain úsáid as ``'defaults__exact'</code>, mar sin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Foo<span class=\"o\">.</span>objects<span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>defaults__exact<span class=\"o\">=</span><span class=\"s2\">&quot;bar&quot;</span><span class=\"p\">,</span> defaults<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;defaults&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;baz&quot;</span><span class=\"p\">})</span>\n</code></pre></div>\n<p>Tá iompar earráide comhchosúil ag an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get_or_create () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>leas:meth: create () `nuair a bhíonn eochracha bunscoile sonraithe de láimh á úsáid agat. Más gá réad a chruthú agus má tá an eochair ann cheana sa bhunachar sonraí, ardófar an:exc: `~django.db.IntegrityError.</p>\n<p>Faoi dheireadh, focal maidir le <code class=\"docutils literal notranslate\">get_or_create () ``a úsáid i dtuairimí Django. Déan cinnte go n-úsáidfidh tú é ach amháin in iarratais ``POST ``mura bhfuil cúis mhaith agat gan a dhéanamh. Níor cheart go mbeadh aon éifeacht ag iarratais ``GET</code> ar shonraí. Ina áit sin, bain úsáid as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>POST <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>aon uair a bhíonn fo-éifeacht ag iarraidh ar leathanach ar do chuid sonraí. &lt;9110 #section -9.2.1&gt;Le haghaidh tuilleadh, féach: rfc: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>Modhanna sábháilte' sa shonraíocht HTTP.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Is féidir leat tréithe <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get_or_create () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid trí:class: ~django.db.models.manyToManyField agus caidreamh aisiompthe. Sa chás sin cuirfidh tú srian ar na ceisteanna taobh istigh de chomhthéacs an chaidrimh sin. D'fhéadfadh sé sin roinnt fadhbanna sláine a bheith mar thoradh ort mura n-úsáideann tú é go comhsheasmhach.</p>\n<p>Mar na samhlacha seo a leanas:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span> <span class=\"nc\">Chapter</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    title <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">,</span> unique<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Book</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    title <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">256</span><span class=\"p\">)</span>\n    chapters <span class=\"o\">=</span> models<span class=\"o\">.</span>ManyToManyField<span class=\"p\">(</span>Chapter<span class=\"p\">)</span>\n</code></pre></div>\n<p>Is féidir leat <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>get_or_create () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid trí réimse caibidlí an Leabhair, ach ní fhaigheann sé ach taobh istigh de chomhthéacs an leabhair sin:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>book <span class=\"o\">=</span> Book<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;Ulysses&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>book<span class=\"o\">.</span>chapters<span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;Telemachus&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">(&lt;Chapter: Telemachus&gt;, True)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>book<span class=\"o\">.</span>chapters<span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;Telemachus&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">(&lt;Chapter: Telemachus&gt;, False)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Chapter<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;Chapter 1&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Chapter: Chapter 1&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>book<span class=\"o\">.</span>chapters<span class=\"o\">.</span>get_or_create<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;Chapter 1&quot;</span><span class=\"p\">)</span>\n<span class=\"go\"># Raises IntegrityError</span>\n</code></pre></div>\n<p>This is happening because it's trying to get or create &quot;Chapter 1&quot; through the\nbook &quot;Ulysses&quot;, but it can't do either: the relation can't fetch that chapter\nbecause it isn't related to that book, but it can't create it either because\n<code class=\"docutils literal notranslate\">title</code> field should be unique.</p>\n</aside>\n</section>\n<section id=\"update-or-create\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Update_or_create () ``<a class=\"heading-anchor\" href=\"#update-or-create\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.update_or_create\">\n<span class=\"sig-name descname\">update_or_create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">defaults<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">create_defaults<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.update_or_create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aupdate_or_create\">\n<span class=\"sig-name descname\">aupdate_or_create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">defaults<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">create_defaults<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aupdate_or_create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aupdate_or_create () ``</p>\n<p>Modh áisiúlachta chun réad a nuashonrú leis an kwargs ``tugtha, ceann nua a chruthú más gá. Is foclóirí de phéirí (réimse, luach) iad `create_defaults` agus defaults` araon. Is féidir na luachanna i create_defaults` agus defaults` araon a bheith inghlaonta. Úsáidtear <code class=\"docutils literal notranslate\">defaults</code> chun an réad a nuashonrú agus úsáidtear <code class=\"docutils literal notranslate\">create_defaults</code> don oibríocht chruthaigh. Mura gcuirtear create_defaults` ar fáil, úsáidfear <code class=\"docutils literal notranslate\">defaults</code> don oibríocht chruthaithe.</p>\n<p>Tugann sé tuple de <code class=\"docutils literal notranslate\">(réad, cruthaithe)</code>, ina bhfuil <code class=\"docutils literal notranslate\">réad ``an rud cruthaithe nó nuashonraithe agus is boolean é ``cruthaithe</code> a shonraíonn an cruthaíodh réad nua.</p>\n<p>Déanann an modh update_or_create` iarracht réad a fháil ón mbunachar sonraí bunaithe ar an kwargs ``tugtha. Má aimsítear meaitseáil, nuashonraíonn sé na réimsí a rith sa fhoclóir ``defaults.</p>\n<p>Tá sé seo i gceist mar aicearra chuig cód boilerplatish. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>defaults <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Bob&quot;</span><span class=\"p\">}</span>\ncreate_defaults <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Bob&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;birthday&quot;</span><span class=\"p\">:</span> date<span class=\"p\">(</span><span class=\"mi\">1940</span><span class=\"p\">,</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">9</span><span class=\"p\">)}</span>\n<span class=\"k\">try</span><span class=\"p\">:</span>\n    obj <span class=\"o\">=</span> Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>first_name<span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span> last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">for</span> key<span class=\"p\">,</span> value <span class=\"ow\">in</span> defaults<span class=\"o\">.</span>items<span class=\"p\">():</span>\n        <span class=\"nb\">setattr</span><span class=\"p\">(</span>obj<span class=\"p\">,</span> key<span class=\"p\">,</span> value<span class=\"p\">)</span>\n    obj<span class=\"o\">.</span>save<span class=\"p\">()</span>\n<span class=\"k\">except</span> Person<span class=\"o\">.</span>DoesNotExist<span class=\"p\">:</span>\n    new_values <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;last_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">}</span>\n    new_values<span class=\"o\">.</span>update<span class=\"p\">(</span>create_defaults<span class=\"p\">)</span>\n    obj <span class=\"o\">=</span> Person<span class=\"p\">(</span><span class=\"o\">**</span>new_values<span class=\"p\">)</span>\n    obj<span class=\"o\">.</span>save<span class=\"p\">()</span>\n</code></pre></div>\n<p>Éiríonn an patrún seo go leor de réir mar a théann líon na réimsí i samhail suas. Is féidir an sampla thuas a athscríobh ag baint úsáide as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>update_or_create () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>mar sin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>obj<span class=\"p\">,</span> created <span class=\"o\">=</span> Person<span class=\"o\">.</span>objects<span class=\"o\">.</span>update_or_create<span class=\"p\">(</span>\n    first_name<span class=\"o\">=</span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span>\n    last_name<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">,</span>\n    defaults<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Bob&quot;</span><span class=\"p\">},</span>\n    create_defaults<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Bob&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;birthday&quot;</span><span class=\"p\">:</span> date<span class=\"p\">(</span><span class=\"mi\">1940</span><span class=\"p\">,</span> <span class=\"mi\">10</span><span class=\"p\">,</span> <span class=\"mi\">9</span><span class=\"p\">)},</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Le haghaidh tuairisc mhionsonraithe ar an gcaoi a réitear ainmneacha a rith in kwargs`, féach:meth: get_or_create.</p>\n<p>Mar a thuairiscítear thuas in:meth: get_or_create, tá seans go mbeidh coinníoll rásaíochta ag an modh seo a d'fhéadfadh sraitheanna iolracha a chur isteach ag an am céanna mura gcuirtear uathúlacht i bhfeidhm ag leibhéal an bhunachar sonraí.</p>\n<p>Cosúil le: Meth: get_or_create agus:meth: create, má tá eochracha bunscoile sonraithe de láimh á úsáid agat agus má chaithfear réad a chruthú ach tá an eochair ann cheana sa bhunachar sonraí, an:exc: ~django.db.IntegrityError ardaítear.</p>\n</section>\n<section id=\"bulk-create\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>bulk_create () ``<a class=\"heading-anchor\" href=\"#bulk-create\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.bulk_create\">\n<span class=\"sig-name descname\">bulk_create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">objs</em>, <em class=\"sig-param\">batch_size<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">ignore_conflicts<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">update_conflicts<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">update_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">unique_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.bulk_create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.abulk_create\">\n<span class=\"sig-name descname\">abulk_create</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">objs</em>, <em class=\"sig-param\">batch_size<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">ignore_conflicts<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">update_conflicts<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">update_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">unique_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.abulk_create\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">abulk_create()</code></p>\n<p>Cuireann an modh seo an liosta rudaí a chuirtear ar fáil isteach sa bhunachar sonraí ar bhealach éifeachtach (de ghnáth ní amháin ceist amháin, is cuma cé mhéad rudaí atá ann), agus tugann sé rudaí cruthaithe ar ais mar liosta, san ord céanna mar a chuirtear ar fáil:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>objs <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>bulk_create<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"p\">[</span>\n<span class=\"gp\">... </span>        Entry<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;This is a test&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>        Entry<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;This is only a test&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>    <span class=\"p\">]</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Tá roinnt rabhaidh aige seo áfach:</p>\n<ul>\n<li><p>Ní ghlaofar modh <code class=\"docutils literal notranslate\">save () ``an tsamhail, agus ní sheolfar na comharthaí ``pre_save</code> agus <code class=\"docutils literal notranslate\">post_save</code>.</p></li>\n<li><p>Ní oibríonn sé le samhlacha leanaí i gcás oidhreachta il-tábla.</p></li>\n<li><p>Más é príomh-eochair an tsamhail ná: class: ~django.db.models.autofield agus <code class=\"docutils literal notranslate\">ignore_conflicts</code> False, ní féidir an príomh-thréith a aisghabháil ach ar bhunachair sonraí áirithe (PostgreSQL, MariaDB, agus SQLite 3.35+ faoi láthair). Ar bhunachair sonraí eile, ní shocrófar é.</p></li>\n<li><p>Ní oibríonn sé le caidrimh go leor.</p></li>\n<li><p>Caitheann sé <code class=\"docutils literal notranslate\">objs</code> chuig liosta, a dhéanann meastóireacht iomlán ar <code class=\"docutils literal notranslate\">objs</code> más gineadóir é. Ligeann an teilgthe gach rud a iniúchadh ionas gur féidir aon rudaí a bhfuil eochair phríomhúil socraithe de láimh acu a chur isteach ar dtús. Más mian leat rudaí a chur isteach i mbaisceanna gan an gineadóir iomlán a mheas ag an am céanna, is féidir leat an teicníc seo a úsáid chomh fada agus nach bhfuil aon eochracha bunscoile socraithe de láimh ag na rudaí:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">itertools</span> <span class=\"kn\">import</span> islice\n\nbatch_size <span class=\"o\">=</span> <span class=\"mi\">100</span>\nobjs <span class=\"o\">=</span> <span class=\"p\">(</span>Entry<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;Test </span><span class=\"si\">%s</span><span class=\"s2\">&quot;</span> <span class=\"o\">%</span> i<span class=\"p\">)</span> <span class=\"k\">for</span> i <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">1000</span><span class=\"p\">))</span>\n<span class=\"k\">while</span> <span class=\"kc\">True</span><span class=\"p\">:</span>\n    batch <span class=\"o\">=</span> <span class=\"nb\">list</span><span class=\"p\">(</span>islice<span class=\"p\">(</span>objs<span class=\"p\">,</span> batch_size<span class=\"p\">))</span>\n    <span class=\"k\">if</span> <span class=\"ow\">not</span> batch<span class=\"p\">:</span>\n        <span class=\"k\">break</span>\n    Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>bulk_create<span class=\"p\">(</span>batch<span class=\"p\">,</span> batch_size<span class=\"p\">)</span>\n</code></pre></div>\n</li>\n</ul>\n<p>The <code class=\"docutils literal notranslate\">batch_size</code> parameter controls how many objects are created in a single\nquery. The default is to create as many objects in one batch as the database\nwill allow. (SQLite and Oracle limit the number of parameters in a query.)</p>\n<p>Ar bhunachair sonraí a thacaíonn leis (uile ach Oracle), deir an paraiméadar ignore_conflicts` a shocrú go <code class=\"docutils literal notranslate\">True</code> don bhunachar sonraí neamhaird a dhéanamh ar theip ar aon sraitheanna a chur isteach ina theipeann srianta mar luachanna uathúla dúbailte.</p>\n<p>Ar bhunachair sonraí a thacaíonn leis (uile seachas Oracle), ag socrú an paraiméadar <code class=\"docutils literal notranslate\">update_conflicts</code> go True`, insíonn don bhunachar sonraí <code class=\"docutils literal notranslate\">update_fields</code> a nuashonrú nuair a theipeann ar ionchur sraith ar choimhlintí. Ar PostgreSQL agus SQLite, i dteannta le update_fields`, ní mór liosta de <code class=\"docutils literal notranslate\">unique_fields</code> a d'fhéadfadh a bheith i gcoinbhleacht a sholáthar.</p>\n<p>Déanann an paraiméadar ignore_conflicts` a chumasú ar an bpríomh-eochair a shocrú ar gach samhail (má thacaíonn an bunachar sonraí leis de ghnáth).</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Ar MySQL agus MariaDB, déanann an paraiméadar ignore_conflicts` a shocrú go <code class=\"docutils literal notranslate\">True</code>, iompaíonn cineálacha áirithe earráidí, seachas eochair dúbailte, ina rabhaidh. Fiú amháin le Mód Dian. Mar shampla: luachanna neamhbhailí nó sáruithe neamh-inneamhnaithe. Féach an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>doiciméadú MySQL <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>_ agus <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>doiciméadú MariaDB <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>_ le haghaidh tuilleadh sonraí.</p>\n</aside>\n</section>\n<section id=\"bulk-update\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>bulk_update () ``<a class=\"heading-anchor\" href=\"#bulk-update\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.bulk_update\">\n<span class=\"sig-name descname\">bulk_update</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">objs</em>, <em class=\"sig-param\">fields</em>, <em class=\"sig-param\">batch_size<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.bulk_update\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.abulk_update\">\n<span class=\"sig-name descname\">abulk_update</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">objs</em>, <em class=\"sig-param\">fields</em>, <em class=\"sig-param\">batch_size<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.abulk_update\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">abulk_update()</code></p>\n<p>Nuashonraíonn an modh seo na réimsí tugtha go héifeachtúil ar na cásanna samhail a chuirtear ar fáil, go ginearálta le ceist amháin, agus filleann sé líon na ruda</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>objs <span class=\"o\">=</span> <span class=\"p\">[</span>\n<span class=\"gp\">... </span>    Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;Entry 1&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>    Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>create<span class=\"p\">(</span>headline<span class=\"o\">=</span><span class=\"s2\">&quot;Entry 2&quot;</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>objs<span class=\"p\">[</span><span class=\"mi\">0</span><span class=\"p\">]</span><span class=\"o\">.</span>headline <span class=\"o\">=</span> <span class=\"s2\">&quot;This is entry 1&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>objs<span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">]</span><span class=\"o\">.</span>headline <span class=\"o\">=</span> <span class=\"s2\">&quot;This is entry 2&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>bulk_update<span class=\"p\">(</span>objs<span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">2</span>\n</code></pre></div>\n<p>: meth: Úsáidtear .querySet.Update chun na hathruithe a shábháil, mar sin tá sé seo níos éifeachtaí ná athrú tríd an liosta samhlacha agus glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>save () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>ar gach ceann acu, ach tá cúpla rabhadh aige:</p>\n<ul>\n<li><p>Ní féidir leat príomh-eochair an tsamhail a nuashonrú.</p></li>\n<li><p>Ní thugtar ar mhodh save () ``gach samhail, agus ní sheoltar na comharthaí: attr: `~django.db.models.signals.pre_save agus:attr: ~django.db.models.signals.post_save.</p></li>\n<li><p>Má nuashonraítear líon mór colúin i líon mór sraitheanna, is féidir leis an SQL a ghintear a bheith an-mhór. Seachain é seo trí batch_size` oiriúnach a shonrú.</p></li>\n<li><p>When updating a large number of objects, be aware that <code class=\"docutils literal notranslate\">bulk_update()</code>\nprepares all of the <code class=\"docutils literal notranslate\">WHEN</code> clauses for every object across all batches\nbefore executing any queries. This can require more memory than expected. To\nreduce memory usage, you can use an approach like this:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">itertools</span> <span class=\"kn\">import</span> islice\n\nbatch_size <span class=\"o\">=</span> <span class=\"mi\">100</span>\nids_iter <span class=\"o\">=</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"mi\">1000</span><span class=\"p\">)</span>\n<span class=\"k\">while</span> ids <span class=\"o\">:=</span> <span class=\"nb\">list</span><span class=\"p\">(</span>islice<span class=\"p\">(</span>ids_iter<span class=\"p\">,</span> batch_size<span class=\"p\">)):</span>\n    batch <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>ids__in<span class=\"o\">=</span>ids<span class=\"p\">)</span>\n    <span class=\"k\">for</span> entry <span class=\"ow\">in</span> batch<span class=\"p\">:</span>\n        entry<span class=\"o\">.</span>headline <span class=\"o\">=</span> <span class=\"sa\">f</span><span class=\"s2\">&quot;Updated headline </span><span class=\"si\">{</span>entry<span class=\"o\">.</span>pk<span class=\"si\">}</span><span class=\"s2\">&quot;</span>\n    Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>bulk_update<span class=\"p\">(</span>batch<span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">],</span> batch_size<span class=\"o\">=</span>batch_size<span class=\"p\">)</span>\n</code></pre></div>\n</li>\n<li><p>Beidh ceist bhreise in aghaidh an sinsear ag nuashonrú réimsí a shainmhínítear ar sinsear oidhreachta</p></li>\n<li><p>Nuair a bhíonn dúbailtí i mbaisc aonair, ní bheidh nuashonrú mar thoradh ar an gcéad chás sa bhaisc sin.</p></li>\n<li><p>D'fhéadfadh go mbeadh líon na rudaí a nuashonraíonn an fheidhm ar ais níos lú ná líon na rudaí a chuirtear isteach. D'fhéadfadh sé seo a bheith mar gheall ar rudaí dúblacha a rith ina ndéantar nuashonrú sna dálaí baisc nó cine céanna ionas nach bhfuil rudaí i láthair sa bhunachar sonraí a thuilleadh.</p></li>\n</ul>\n<p>Rialaíonn an paraiméadar <code class=\"docutils literal notranslate\">batch_size</code> cé mhéad rudaí a shábháiltear in aon cheist amháin. Is é an réamhshocrú ná gach rud a nuashonrú i mbaisc amháin, ach amháin SQLite agus Oracle a bhfuil srianta acu ar líon na n-athróg a úsáidtear i gceist.</p>\n</section>\n<section id=\"count\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>comhaireamh () ``<a class=\"heading-anchor\" href=\"#count\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.count\">\n<span class=\"sig-name descname\">count</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.count\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.acount\">\n<span class=\"sig-name descname\">acount</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.acount\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">acount()</code></p>\n<p>Filleann sé sláimhir a léiríonn líon na rudaí sa bhunachar sonraí a mheaitseann leis an <code class=\"docutils literal notranslate\">QuerySet</code>.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Returns the total number of entries in the database.</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>count<span class=\"p\">()</span>\n\n<span class=\"c1\"># Returns the number of entries whose headline contains &#39;Lennon&#39;</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>count<span class=\"p\">()</span>\n</code></pre></div>\n<p>Déanann glao <code class=\"docutils literal notranslate\">count () ```SELECT COUNT (*)</code> taobh thiar de na radhairc, mar sin ba chóir duit <code class=\"docutils literal notranslate\">count () ``a úsáid i gcónaí seachas an taifead go léir a luchtú isteach i rudaí Python agus glaoch ar `len ()</code> ar an toradh (mura gcaithfidh tú na rudaí a luchtú i gcuimhne ar aon nós, sa chás sin beidh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>len () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>níos gasta).</p>\n<p>Tabhair faoi deara más mian leat líon na míreanna i <code class=\"docutils literal notranslate\">QuerySet</code> agus má tá tú ag aisghabháil cásanna samhail uaidh freisin (mar shampla, trí athrú air), is dócha go mbeidh sé níos éifeachtaí <code class=\"docutils literal notranslate\">len (queryset) ``a úsáid nach gcuirfidh ceist bunachar sonraí breise mar ``count ()</code>.</p>\n<p>Má tá an tacar ceisteanna aisghabháilte go hiomlán cheana féin, úsáidfidh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>count () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>an fad sin seachas ceist breise bunachar sonraí a dhéanamh.</p>\n</section>\n<section id=\"in-bulk\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>in_bulk () ``<a class=\"heading-anchor\" href=\"#in-bulk\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.in_bulk\">\n<span class=\"sig-name descname\">in_bulk</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">id_list<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\">*</abbr></span></em>, <em class=\"sig-param\">field_name<span class=\"o\">=</span><span class=\"default_value\">'pk'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.in_bulk\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.ain_bulk\">\n<span class=\"sig-name descname\">ain_bulk</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">id_list<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\">*</abbr></span></em>, <em class=\"sig-param\">field_name<span class=\"o\">=</span><span class=\"default_value\">'pk'</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.ain_bulk\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">ain_bulk()</code></p>\n<p>Glacann sé liosta de luachanna réimse (<code class=\"docutils literal notranslate\">id_list</code>) agus an <code class=\"docutils literal notranslate\">field_name</code> do na luachanna sin, agus filleann sé foclóir a mhapáil gach luach go sampla den réad leis an luach réimse a thugtar. No:exc: Ardóidh eisceachtaí django.core.exceptions.objectDoesNotExist riamh le <code class=\"docutils literal notranslate\">in_bulk</code>; is é sin, ní dhéanfar neamhaird ar aon luach <code class=\"docutils literal notranslate\">id_list</code> nach bhfuil meaitseáil le haon chás. Mura gcuirtear <code class=\"docutils literal notranslate\">id_list</code> ar fáil, cuirtear gach rud sa tacar fiosrúcháin ar ais. Caithfidh field_name` a bheith ina réimse uathúil nó ina réimse ar leith (mura bhfuil ach réimse amháin ann a shonraítear in:meth: distint). Réamhshocraíonn <code class=\"docutils literal notranslate\">field_name</code> don eochair phríomhúil.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>in_bulk<span class=\"p\">([</span><span class=\"mi\">1</span><span class=\"p\">])</span>\n<span class=\"go\">{1: &lt;Blog: Beatles Blog&gt;}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>in_bulk<span class=\"p\">([</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">])</span>\n<span class=\"go\">{1: &lt;Blog: Beatles Blog&gt;, 2: &lt;Blog: Cheddar Talk&gt;}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>in_bulk<span class=\"p\">([])</span>\n<span class=\"go\">{}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>in_bulk<span class=\"p\">()</span>\n<span class=\"go\">{1: &lt;Blog: Beatles Blog&gt;, 2: &lt;Blog: Cheddar Talk&gt;, 3: &lt;Blog: Django Weblog&gt;}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>in_bulk<span class=\"p\">([</span><span class=\"s2\">&quot;beatles_blog&quot;</span><span class=\"p\">],</span> field_name<span class=\"o\">=</span><span class=\"s2\">&quot;slug&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">{&#39;beatles_blog&#39;: &lt;Blog: Beatles Blog&gt;}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>distinct<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>in_bulk<span class=\"p\">(</span>field_name<span class=\"o\">=</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">{&#39;Beatles Blog&#39;: &lt;Blog: Beatles Blog&gt;, &#39;Cheddar Talk&#39;: &lt;Blog: Cheddar Talk&gt;, &#39;Django Weblog&#39;: &lt;Blog: Django Weblog&gt;}</span>\n</code></pre></div>\n<p>Má chuireann tú liosta folamh ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>in_bulk () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, gheobhaidh tú foclóir folamh.</p>\n</section>\n<section id=\"iterator\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>iterator () ``<a class=\"heading-anchor\" href=\"#iterator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.iterator\">\n<span class=\"sig-name descname\">iterator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">chunk_size<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.iterator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aiterator\">\n<span class=\"sig-name descname\">aiterator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">chunk_size<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aiterator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">aiterator()</code></p>\n<p>Déanann sé meastóireacht ar an <code class=\"docutils literal notranslate\">QuerySet</code> (tríd an bhfiosrú a dhéanamh) agus filleann sé athraitheoir (féach: pep: 234) thar na torthaí, nó athraitheoir asincrónach (féach: pep: 492) má ghlaonn tú ar a leagan asincrónach <code class=\"docutils literal notranslate\">aiterator</code>.</p>\n<p>De ghnáth cuireann “QuerySet” a thorthaí a chosc go hinmheánach ionas nach mbíonn ceisteanna breise mar thoradh ar mheastóireachtaí arís agus arís eile. I gcodarsnacht leis sin, léifidh <code class=\"docutils literal notranslate\">iterator () ``torthaí go díreach, gan aon chaching a dhéanamh ag an leibhéal ``QuerySet` (go hinmheánach, glaonn an t-iterator réamhshocraithe ``iterator ()</code> agus cuireann sé an luach tuairisceáin). Maidir le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet` a thugann líon mór rudaí ar ais nach gá duit rochtain a fháil ach uair amháin, d'fhéadfadh feidhmíocht níos fearr agus laghdú suntasach ar chuimhne a bheith mar thoradh air seo.</p>\n<p>Tabhair faoi deara go gcuirfidh úsáid <code class=\"docutils literal notranslate\">iterator () ``ar `QuerySet</code> a rinneadh meastóireacht cheana féin iallach air a mheas arís, ag athdhéanamh an cheist.</p>\n<p>Tá <code class=\"docutils literal notranslate\">iterator () ``comhoiriúnach le glaonna roimhe seo chuig ``prefetch_related ()</code> fad is a thugtar <code class=\"docutils literal notranslate\">chunk_size</code>. Beidh níos lú ceisteanna ag teastáil ó luachanna níos mó chun an réamhghabháil a chur i gcrích ar chostas níos mó úsáide cuimhne.</p>\n<p>Ar roinnt bunachair sonraí (m.sh. Oracle, <a class=\"reference internal\" href=\"#sqlite\">SQLite</a> &lt; <a class=\"reference external\" href=\"https://www.sqlite.org/limits.html#max_variable_number\">https://www.sqlite.org/limits.html#max_variable_number</a>&gt;), d'fhéadfadh go mbeadh uaslíon téarmaí i gclásal SQL <code class=\"docutils literal notranslate\">IN ``teoranta. Dá bhrí sin ba chóir luachanna faoi bhun an teorainn seo a úsáid. (Go háirithe, nuair a bhíonn dhá chaidreamh nó níos mó á réamhghabháil agat, ba chóir go mbeadh `chunk_size</code> beag go leor go dtitfidh an líon na dtorthaí a bhfuil súil leis do gach caidreamh réamhfhaighte faoi bhun an teorainn fós.)</p>\n<p>Chomh fada agus nach bhfaigheann an QuerySet aon rudaí gaolmhara roimh ré, ní úsáidfidh Django réamhshocrú intuigthe 2000 mar thoradh ar aon luach a sholáthar do chunk_size`.</p>\n<p>Ag brath ar chúlcheann an bhunachar sonraí, luchtálfar torthaí fiosrúcháin uile ag an am céanna nó a shruthú ón mbunachar sonraí ag baint úsáide as cúrsóirí taobh an fhre</p>\n<section id=\"with-server-side-cursors\">\n<h5>Le cúrsaí taobh an fhreastalaí<a class=\"heading-anchor\" href=\"#with-server-side-cursors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>Úsáideann Oracle agus:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>PostgreSQL &lt;postgresql-server-side-cursors&gt;`cúrsaí taobh an fhreastalaí chun torthaí a shruthlú ón mbunachar sonraí gan an tacar toradh iomlán a luchtú isteach i gcuimhne.</p>\n<p>Úsáideann tiománaí bunachar sonraí Oracle cúrsóirí taobh an fhreastalaí</p>\n<p>Le cúrsóirí taobh an fhreastalaí, sonraíonn an paraiméadar <code class=\"docutils literal notranslate\">chunk_size</code> líon na dtorthaí le taisce ag leibhéal tiománaí an bhunachar sonraí. Laghdaíonn píosaí níos mó a fháil líon na dturais babhta idir tiománaí an bhunachar sonraí agus an bunachar sonraí, ar chostas na cuimhne.</p>\n<p>&lt;DATABASE-DISABLE_SERVER_SIDE_CURSORS&gt;Ar PostgreSQL, ní úsáidfear cúrsóirí taobh an fhreastalaí ach nuair is é an socrú: setting: DISABLE_SERVER_SIDE_CURSORS ``False`. léitheo:ref: transaction-pooling-server-side-cursors má tá poiblí nasc á úsáid agat atá cumraithe i mód comhionannaithe idirbheart. Nuair a dhéantar cúrsóirí taobh an fhreastalaí a dhíchumasú, tá an t-iompar mar an gcéanna le bunachair sonraí nach dtacaíonn le cúrsóirí taobh an f</p>\n</section>\n<section id=\"without-server-side-cursors\">\n<h5>Gan cúrsaí taobh an fhreastalaí<a class=\"heading-anchor\" href=\"#without-server-side-cursors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>Ní thacaíonn MySQL le torthaí sruthú, dá bhrí sin luchtaíonn tiománaí bunachar sonraí Python an toradh iomlán atá leagtha síos Ansin déantar an tacar torthaí a athrú go rudaí sraithe Python ag an oiriúnaitheoir bunachar sonraí ag baint úsáide as an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>fetchmany () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>atá sainmhínithe in:pep: 249.</p>\n<p>Is féidir le SQLite torthaí a fháil i mbaisceanna ag baint úsáide as <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>fetchmany () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>, ach ós rud é nach soláthraíonn SQLite aonrú idir ceisteanna laistigh de nasc, bí cúramach agus tú ag scríobh chuig an tábla atá á athrá. Féach: ref: sqlite-isolation le haghaidh tuilleadh faisnéise.</p>\n<p>Rialaíonn an paraiméadar <code class=\"docutils literal notranslate\">chunk_size</code> méid na mbaisceanna a aisghabhann Django ón tiománaí bunachar sonraí. Laghdaíonn baisceanna níos mó lasbhaird cumarsáide leis an tiománaí bunachar sonraí ar chostas méadú beag ar thomhaltas cuimhne.</p>\n<p>&lt; <a class=\"reference external\" href=\"https://www.postgresql.org/message-id/4D2F2C71.8080805%40dndg.it\">https://www.postgresql.org/message-id/4D2F2C71.8080805%40dndg.it</a>&gt;Chomh fada agus nach bhfaigheann an QuerySet aon rudaí gaolmhara roimh ré, ní sholáthraíonn aon luach do chunk_size` mar thoradh ar Django réamhshocrú intuigthe de 2000, luach a dhíorthaítear ó <a href=\"#id16\"><span class=\"problematic\" id=\"id17\">`ríomh ar an liosta seoltaí psycopg`_</span></a>:</p>\n<blockquote>\n<div><p>Ag glacadh leis sraitheanna de 10-20 colún le meascán de shonraí téacsúla agus uimhriúla, tá 2000 chun níos lú ná 100KB sonraí a fháil, rud is cosúil gur comhréiteach maith é idir líon na sraitheanna a aistrítear agus na sonraí a scriosadh má imeádtar an lúb go luath.</p>\n</div></blockquote>\n</section>\n</section>\n<section id=\"latest\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>is déanaí () ``<a class=\"heading-anchor\" href=\"#latest\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.latest\">\n<span class=\"sig-name descname\">latest</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.latest\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.alatest\">\n<span class=\"sig-name descname\">alatest</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.alatest\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>alatest () ``</p>\n<p>Tugann sé an réad is déanaí sa tábla ar ais bunaithe ar na réimsí (í) ar leith.</p>\n<p>Tugann an sampla seo an Entry` is déanaí sa tábla, de réir réimse <code class=\"docutils literal notranslate\">pub_date</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>latest<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Is féidir leat an ceann is déanaí a roghnú bunaithe ar roinnt réimsí. Mar shampla, chun an Entry` a roghnú leis an <code class=\"docutils literal notranslate\">expire_date</code> is luaithe nuair a bhíonn an pub_date` céanna ag dhá iontráil:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>latest<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;-expire_date&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ciallaíonn an comhartha diúltach in <code class=\"docutils literal notranslate\">`'-expire_date'` ``dáta deighilte</code> a shórtáil san ordú*downing*. Ós rud é go bhfaigheann <code class=\"docutils literal notranslate\">latest () ``an toradh deireanach, roghnaítear an ``Entry</code> leis an <code class=\"docutils literal notranslate\">expire_date</code> is luaithe.</p>\n<p>Má shonraíonn do mhúnlaí:ref: Meta &lt;meta-options&gt;: attr: ~django.db.models.options.get_latest_by, is féidir leat aon argóintí a fhágáil go <code class=\"docutils literal notranslate\">early () ``nó ``latest ()</code>. Úsáidfear na réimsí a shonraítear in:attr: ~django.db.models.options.get_latest_by de réir réamhshocraithe.</p>\n<p>Cosúil le: Meth: get () `, ``() ``agus ``latest ()` 'ardaithe:exc: ~django.db.models.model.doesNotExist mura bhfuil aon rud ann leis na paraiméadair a thugtar.</p>\n<p>Tabhair faoi deara go bhfuil <code class=\"docutils literal notranslate\">is luaithe () ``agus ``is déanaí ()</code> ann ach ar mhaithe le háisiúlacht agus inléiteacht.</p>\n<aside class=\"admonition-earliest-and-latest-may-return-instances-with-null-dates admonition\" role=\"note\">\n<p class=\"admonition-title\">Féadfaidh <code class=\"docutils literal notranslate\">`is luaithe () ``agus ``latest ()</code> cásanna a thabhairt ar ais le dátaí neall.</p>\n<p>Ós rud é go ndéantar ordú a tharmligtear chuig an mbunachar sonraí, féadfar torthaí ar réimsí a cheadaíonn luachanna neall a ordú ar bhealach difriúil Mar shampla, déanann PostgreSQL agus MySQL luachanna null a shórtáil amhail is dá mbeadh siad níos airde ná luachanna neamh-niall, agus déanann SQLite a mhalairt.</p>\n<p>B'fhéidir gur mhaith leat luachanna null a scagadh amach:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__isnull<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span><span class=\"o\">.</span>latest<span class=\"p\">(</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</aside>\n</section>\n<section id=\"earliest\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>is luaithe () ``<a class=\"heading-anchor\" href=\"#earliest\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.earliest\">\n<span class=\"sig-name descname\">earliest</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.earliest\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aearliest\">\n<span class=\"sig-name descname\">aearliest</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>fields</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aearliest\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aearly () ``</p>\n<p>Oibríonn sé ar shlí eile cosúil:meth: ~django.db.models.query.queryset.latest ach amháin go n-athraítear an treo.</p>\n</section>\n<section id=\"first\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>chéad () `<a class=\"heading-anchor\" href=\"#first\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.first\">\n<span class=\"sig-name descname\">first</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.first\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.afirst\">\n<span class=\"sig-name descname\">afirst</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.afirst\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>first () `</p>\n<p>Filleann sé an chéad réad a mheaitseáil leis an tacar fiosrúcháin, nó <code class=\"docutils literal notranslate\">None</code> mura bhfuil aon rud meaitseála ann. Mura bhfuil aon ordú sainmhínithe ag an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet`, ansin ordaítear an tacar fiosrúcháin go huathoibríoch ag an eochair phríomhúil. Féadfaidh sé seo dul i bhfeidhm ar thorthaí comhiomlánaithe mar a thuairiscítear in:ref: <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>comhiomlán-ordú-idirghníomhach</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>p <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>first<span class=\"p\">()</span>\n</code></pre></div>\n<p>Tabhair faoi deara gur modh áisiúlachta é <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>first () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>, tá an sampla cód seo a leanas comhionann leis an sampla thuas:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">try</span><span class=\"p\">:</span>\n    p <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">)[</span><span class=\"mi\">0</span><span class=\"p\">]</span>\n<span class=\"k\">except</span> <span class=\"ne\">IndexError</span><span class=\"p\">:</span>\n    p <span class=\"o\">=</span> <span class=\"kc\">None</span>\n</code></pre></div>\n</section>\n<section id=\"last\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>deireanach () `<a class=\"heading-anchor\" href=\"#last\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.last\">\n<span class=\"sig-name descname\">last</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.last\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.alast\">\n<span class=\"sig-name descname\">alast</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.alast\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>alast () ``</p>\n<p>Oibríonn sé cosúil le: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>first () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>, ach filleann sé an rud deireanach sa tacar ceisteanna.</p>\n</section>\n<section id=\"aggregate\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>comhiomlán () ``<a class=\"heading-anchor\" href=\"#aggregate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aggregate\">\n<span class=\"sig-name descname\">aggregate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aggregate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aaggregate\">\n<span class=\"sig-name descname\">aaggregate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>args</em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aaggregate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aaggregate () ``</p>\n<p>Tugann foclóir ar ais de luachanna comhiomlána (meáin, suimeanna, srl.) arna ríomh thar an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet`. Sonraíonn gach argóint le <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>comhiomlán () <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>luach a chuirfear san áireamh sa fhoclóir a thugtar ar ais.</p>\n<p>Déantar cur síos ar na feidhmeanna comhiomlánaithe a sholáthraíonn Django i <a class=\"reference internal\" href=\"#id6\">Feidhmeanna Comhiomlánacha</a> thíos. Ós rud é go bhfuil comhiomlánaithe freis:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>léirithe fiosraithe', féadfaidh tú comhiomláin a chomhcheangal le comhiomlán&lt;/ref/models/expressions&gt; acha nó luachanna eile chun comhiomlánacha casta a chruthú.</p>\n<p>Úsáidfidh comhiomlánaithe a shonraítear ag úsáid argóintí eochairfhocal an eochairfhocal mar ainm don anótáil Beidh ainm ag argóintí gan ainm a ghintear dóibh bunaithe ar ainm na feidhme chomhiomlán agus ar an réimse samhail atá á chomhiomlánú. Ní féidir le comhiomlánaithe casta argóintí gan ainm a úsáid agus ní mór argóint eochairfhocal a shonrú mar ailias</p>\n<p>Mar shampla, nuair a bhíonn tú ag obair le hiontrálacha blag, b'fhéidir gur mhaith leat a fháil amach líon na n-údar a chuir iontrálacha blag leis:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Count\n<span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;entry__authors__count&#39;: 16}</span>\n</code></pre></div>\n<p>Trí argóint eochairfhocal a úsáid chun an fheidhm chomhiomlán a shonrú, is féidir leat ainm an luach comhiomlánaithe a chuirtear ar ais a rialú:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>number_of_authors<span class=\"o\">=</span>Count<span class=\"p\">(</span><span class=\"s2\">&quot;entry__authors&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;number_of_authors&#39;: 16}</span>\n</code></pre></div>\n<p>Le haghaidh plé domhain ar chomhiomlánú, féach:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>an treoir ábhair ar Chomhiomlán' &lt;/topics/db/aggregation&gt;.</p>\n</section>\n<section id=\"exists\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ann () ``<a class=\"heading-anchor\" href=\"#exists\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.exists\">\n<span class=\"sig-name descname\">exists</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.exists\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aexists\">\n<span class=\"sig-name descname\">aexists</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aexists\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aexists () ``</p>\n<p>Tugann sé <code class=\"docutils literal notranslate\">True</code> má tá aon torthaí an:class: .QuerySet, agus <code class=\"docutils literal notranslate\">False</code> mura bhfuil. Déanann sé seo iarracht an cheist a dhéanamh ar an mbealach is simplí agus is gasta is féidir, ach déanann sé* beagnach an cheist céanna a fhorghníomhú le fiosrúchán gnáth:class: .querySet.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.query.QuerySet.exists\" title=\"django.db.models.query.QuerySet.exists\"><code class=\"xref py py-meth docutils literal notranslate\">exists()</code></a> is useful for searches relating to the existence of\nany objects in a <a class=\"reference internal\" href=\"#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</code></a>, particularly in the context of a large\n<a class=\"reference internal\" href=\"#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</code></a>.</p>\n<p>Chun a fháil amach an bhfuil aon earraí i tacar fiosrúcháin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">if</span> some_queryset<span class=\"o\">.</span>exists<span class=\"p\">():</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;There is at least one object in some_queryset&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cé a bheidh níos gasta ná:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">if</span> some_queryset<span class=\"p\">:</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;There is at least one object in some_queryset&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>... ach ní ar leibhéal mór (dá bhrí sin teastaíonn tacar fiosrúcháin mór uait le haghaidh gnóthachain éifeachtúlachta).</p>\n<p>Ina theannta sin, mura ndearnadh meastóireacht ar some_queryset` fós, ach tá a fhios agat go mbeidh sé ag pointe éigin, ansin déanfaidh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>some_queryset.exists () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>níos mó obair fhoriomlán (ceist amháin maidir leis an seiceáil ann móide ceann breise chun na torthaí a aisghabháil níos déanaí) ná <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>bool (some_queryset) <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>a úsáid, a aisghabhann na torthaí agus ansin seiceálann an raibh aon cheann ann ar ais.</p>\n</section>\n<section id=\"contains\">\n<h4><code class=\"docutils literal notranslate\">tá ()</code><a class=\"heading-anchor\" href=\"#contains\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.contains\">\n<span class=\"sig-name descname\">contains</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">obj</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.contains\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.acontains\">\n<span class=\"sig-name descname\">acontains</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">obj</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.acontains\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">acontains()</code></p>\n<p>Tugann sé <code class=\"docutils literal notranslate\">True</code> má tá <code class=\"docutils literal notranslate\">obj</code> sa :class: .QuerySet, agus <code class=\"docutils literal notranslate\">False</code> mura bhfuil. Déanann sé seo iarracht an cheist a dhéanamh ar an mbealach is simplí agus is gasta is féidir.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.query.QuerySet.contains\" title=\"django.db.models.query.QuerySet.contains\"><code class=\"xref py py-meth docutils literal notranslate\">contains()</code></a> is useful for checking an object membership in a\n<a class=\"reference internal\" href=\"#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</code></a>, particularly in the context of a large <a class=\"reference internal\" href=\"#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\">QuerySet</code></a>.</p>\n<p>Chun a sheiceáil an bhfuil mír ar leith i tacar fiosrúcháin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">if</span> some_queryset<span class=\"o\">.</span>contains<span class=\"p\">(</span>obj<span class=\"p\">):</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Entry contained in queryset&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Beidh sé seo níos gasta ná an méid seo a leanas a éilíonn measúnú agus athrá tríd an tacar ceisteanna iomlán:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">if</span> obj <span class=\"ow\">in</span> some_queryset<span class=\"p\">:</span>\n    <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">&quot;Entry contained in queryset&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cosúil le: Meth: exists, mura ndearnadh meastóireacht fós ar <code class=\"docutils literal notranslate\">some_queryset ``, ach tá a fhios agat go mbeidh sé ag pointe éigin, ansin déanfar ceist bunachar sonraí breise ag baint úsáide as `some_queryset.contents (obj)</code>, agus go ginearálta beidh feidhmíocht fhoriomlán níos moille mar thoradh air.</p>\n</section>\n<section id=\"update\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>nuashonrú () ``<a class=\"heading-anchor\" href=\"#update\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.update\">\n<span class=\"sig-name descname\">update</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.update\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aupdate\">\n<span class=\"sig-name descname\">aupdate</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aupdate\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">aupdate()</code></p>\n<p>Déanann sé fiosrúchán nuashonraithe SQL do na réimsí sonraithe, agus filleann sé líon na sraitheanna a mheaitseáil ar ais (nach bhféadfadh a bheith cothrom le líon na sraitheanna a nuashonraítear má tá an luach nua ag roinnt sraitheanna</p>\n<p>Mar shampla, chun tuairimí a mhúchadh do gach iontráil blag a foilsíodh in 2010, d'fhéadfá é seo a dhéanamh:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span><span class=\"mi\">2010</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>comments_on<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>(Glacann sé leis seo go bhfuil réimsí <code class=\"docutils literal notranslate\">pub_date</code> agus <code class=\"docutils literal notranslate\">comments_on</code> ag do mhúnla <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Iontrála`.)</p>\n<p>Is féidir leat réimsí iolracha a nuashonrú - níl aon teorainn ar cé mhéad. Mar shampla, anseo déanaimid na réimsí <code class=\"docutils literal notranslate\">comments_on</code> agus <code class=\"docutils literal notranslate\">headline</code> a nuashonrú:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span><span class=\"mi\">2010</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    comments_on<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span> headline<span class=\"o\">=</span><span class=\"s2\">&quot;This is old&quot;</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cuirtear an modh update () `i bhfeidhm láithreach, agus is é an t-aon srian ar an: class: `.querySet a nuashonraítear ná nach féidir leis ach colúin a nuashonrú i bpríomh-thábla an tsamhail, ní ar mhúnlaí gaolmhara. Ní féidir leat é seo a dhéanamh, mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>update<span class=\"p\">(</span>blog__name<span class=\"o\">=</span><span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">)</span>  <span class=\"c1\"># Won&#39;t work!</span>\n</code></pre></div>\n<p>Is féidir scagadh bunaithe ar réimsí gaolmhara fós, áfach:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog__id<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>comments_on<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ní féidir leat glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ar a:class: .QuerySet a bhfuil slisnas tógtha nó nach féidir é a scagadh a thuilleadh.</p>\n<p>Tugann an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>líon na sraitheanna atá buailte ar ais:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">64</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>comments_on<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"go\">1</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>slug<span class=\"o\">=</span><span class=\"s2\">&quot;nonexistent-slug&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>comments_on<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"go\">0</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span><span class=\"mi\">2010</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>comments_on<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"go\">132</span>\n</code></pre></div>\n<p>Mura bhfuil tú ach taifead a nuashonrú agus mura gá duit aon rud a dhéanamh leis an réad samhail, is é an cur chuige is éifeachtaí ná glaoch ar <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>update () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>, seachas an réad samhail a luchtú isteach i gcuimhne. Mar shampla, in ionad seo a dhéanamh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>e <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span>\ne<span class=\"o\">.</span>comments_on <span class=\"o\">=</span> <span class=\"kc\">False</span>\ne<span class=\"o\">.</span>save<span class=\"p\">()</span>\n</code></pre></div>\n<p>... déan seo:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span><span class=\"nb\">id</span><span class=\"o\">=</span><span class=\"mi\">10</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>comments_on<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cuireann úsáid <code class=\"docutils literal notranslate\">nuashonrú () ``cosc ar riocht rása ina bhféadfadh rud éigin athrú i do bhunachar sonraí sa tréimhse ghearr ama idir an réad a luchtú agus glaoch ar `save ()</code>.</p>\n<aside class=\"admonition-mysql-does-not-support-self-select-updates admonition\" role=\"note\">\n<p class=\"admonition-title\">MySQL does not support self-select updates</p>\n<p>On MySQL, <code class=\"docutils literal notranslate\">QuerySet.update()</code> may execute a <code class=\"docutils literal notranslate\">SELECT</code> followed by an\n<code class=\"docutils literal notranslate\">UPDATE</code> instead of a single <code class=\"docutils literal notranslate\">UPDATE</code> when filtering on related tables,\nwhich can introduce a race condition if concurrent changes occur between\nthe queries. To ensure atomicity, consider using transactions or avoiding\nsuch filter conditions on MySQL.</p>\n</aside>\n<p>&lt;django.db.models.Model.save&gt;Mar fhocal scoir, tuig go ndéanann update () ``nuashonrú ar an leibhéal SQL agus, dá bhrí sin, ní ghlaonn sé aon mhodhanna ``save () `ar do mhúnlaí, ná ní scaoileann sé na comharthaí: attr: `~django.db.models.post_save (atá mar thoradh ar ghlao: meth: Model.save ()). Más mian leat dornán taifid a nuashonrú do mhúnla a bhfuil modh saincheaptha: meth: ~django.db.models.model.save () `, lúb orthu agus glaoigh ar: meth: `~django.db.models.model.save (), mar seo:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">for</span> e <span class=\"ow\">in</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span><span class=\"mi\">2010</span><span class=\"p\">):</span>\n    e<span class=\"o\">.</span>comments_on <span class=\"o\">=</span> <span class=\"kc\">False</span>\n    e<span class=\"o\">.</span>save<span class=\"p\">()</span>\n</code></pre></div>\n<section id=\"ordered-queryset\">\n<h5>Tacar ceisteanna ordaithe<a class=\"heading-anchor\" href=\"#ordered-queryset\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h5>\n<p>Ní thacaítear le slabhraíocht <code class=\"docutils literal notranslate\">order_by () ``le `update ()</code> ach ar MariaDB agus MySQL, agus déantar neamhaird air do bhunachar sonraí éagsúla. Tá sé seo úsáideach chun réimse uathúil a nuashonrú san ord a shonraítear gan choimhlintí. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>order_by<span class=\"p\">(</span><span class=\"s2\">&quot;-number&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>update<span class=\"p\">(</span>number<span class=\"o\">=</span>F<span class=\"p\">(</span><span class=\"s2\">&quot;number&quot;</span><span class=\"p\">)</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Déanfar neamhaird ar chlásal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>order_by () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>má tá anótaí ann, réimsí oidhreachta, nó cuardaigh a chuimsíonn caidreamh.</p>\n</aside>\n</section>\n</section>\n<section id=\"delete\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>scrios () ``<a class=\"heading-anchor\" href=\"#delete\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.delete\">\n<span class=\"sig-name descname\">delete</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.delete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.adelete\">\n<span class=\"sig-name descname\">adelete</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.adelete\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrón</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>adelete () ``</p>\n<p>Déanann sé ceist scriosta SQL ar gach sraitheanna san: class: .querySet agus filleann sé líon na rudaí a scriosadh agus foclóir le líon na scriosadh in aghaidh an chineál réada.</p>\n<p>Cuirtear an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>delete () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>i bhfeidhm láithreach. Ní féidir leat glaoch ar <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>delete () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>ar a:class: .QuerySet a bhfuil slisnas tógtha air nó nach féidir é a scagadh a thuilleadh.</p>\n<p>Mar shampla, chun na hiontrálacha go léir i mblag áirithe a scriosadh:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>b <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>pk<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n\n<span class=\"go\"># Delete all the entries belonging to this Blog.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog<span class=\"o\">=</span>b<span class=\"p\">)</span><span class=\"o\">.</span>delete<span class=\"p\">()</span>\n<span class=\"go\">(4, {&#39;blog.Entry&#39;: 2, &#39;blog.Entry_authors&#39;: 2})</span>\n</code></pre></div>\n<p>De réir réamhshocraithe, déanann django's:class: ~django.db.models.foreignKey aithris ar an srian SQL <code class=\"docutils literal notranslate\">ON DELETE CASCADE</code> - i bhfocail eile, scriosfar aon rudaí le heochracha eachtracha atá ag díriú ar na rudaí atá le scriosadh in éineacht leo. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>blogs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n\n<span class=\"go\"># This will delete all Blogs and all of their Entry objects.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>blogs<span class=\"o\">.</span>delete<span class=\"p\">()</span>\n<span class=\"go\">(5, {&#39;blog.Blog&#39;: 1, &#39;blog.Entry&#39;: 2, &#39;blog.Entry_authors&#39;: 2})</span>\n</code></pre></div>\n<p>Is féidir an t-iompar cascaire seo inoiriúnaithe tríd an argóint: attr: ~django.db.models.foreignkey.on_delete chuig an argóint: :class: ~django.db.models.foreignKey.</p>\n<p>Déanann an modh <code class=\"docutils literal notranslate\">delete () ``scriosadh mórchóir agus ní ghlaonn sé aon mhodhanna ``delete ()</code> ar do mhúnlaí. Astaíonn sé, áfach, na comharthaí: data: ~django.db.models.signals.pre_delete agus:data: ~django.db.models.signals.post_delete do gach rud scriosta (lena n-áirítear scriosadh cascadaithe).</p>\n<p>Caithfidh Django rudaí a fháil isteach i gcuimhne chun comharthaí a sheoladh agus cascades a láimhseáil. Mar sin féin, mura bhfuil aon cascades agus aon chomharthaí ann, ansin féadfaidh Django cosán tapa a ghlacadh agus rudaí a scriosadh gan a fháil isteach i gcuimhne. Maidir le scriosadh móra is féidir úsáid cuimhne laghdaithe go suntasach mar thoradh air seo. Is féidir méid na gceisteanna forghníomhaithe a laghdú freisin.</p>\n<p>Ní chuireann ForeignKeys atá socraithe to:attr: ~django.db.models.foreignkey.on_delete DO_NOTHING` cosc ar an gcosán tapa a ghlacadh le scriosadh.</p>\n<p>Tabhair faoi deara gur mionsonraí cur chun feidhme iad na ceisteanna a ghintear i scriosadh réada faoi réir athraithe.</p>\n</section>\n<section id=\"as-manager\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>as_bainisteoir () ``<a class=\"heading-anchor\" href=\"#as-manager\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.as_manager\">\n<em class=\"property\"><span class=\"k\">classmethod</span> </em><span class=\"sig-name descname\">as_manager</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.as_manager\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Modh aicme a thugann sampla de:class: ~Django.db.Models.Manager le cóip de mhodhanna <code class=\"docutils literal notranslate\">QuerySet</code>. Féach:ref: create-manager-with-queryset-methods le haghaidh tuilleadh sonraí.</p>\n<p>Tabhair faoi deara, murab ionann agus na hiontrálacha eile sa chuid seo, níl leagan asincrónach aige seo toisc nach bhfeidhmíonn sé ceist.</p>\n</section>\n<section id=\"explain\">\n<h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>mhínigh () ``<a class=\"heading-anchor\" href=\"#explain\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.explain\">\n<span class=\"sig-name descname\">explain</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">format<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.explain\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.query.QuerySet.aexplain\">\n<span class=\"sig-name descname\">aexplain</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">format<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>options</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.query.QuerySet.aexplain\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Leagan asincrónaithe</em>: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>aexample () ``</p>\n<p>Tugann sé sreang de phlean forghníomhaithe <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet` ar ais, a chuireann mionsonraí ar an gcaoi a ndéanfadh an bunachar sonraí an cheist a fhorghníomhú, lena n-áirítear aon innéacsanna nó comhpháirteanna a úsáidfeadh. D'fhéadfadh eolas a fháil ar na sonraí seo cabhrú leat feidhmíocht na gceisteanna mall a fheabh</p>\n<p>Mar shampla, agus PostgreSQL á úsáid agat:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;My Blog&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>explain<span class=\"p\">())</span>\n<span class=\"go\">Seq Scan on blog  (cost=0.00..35.50 rows=10 width=12)</span>\n<span class=\"go\">  Filter: (title = &#39;My Blog&#39;::bpchar)</span>\n</code></pre></div>\n<p>Tá difríocht shuntasach idir bunachair sonraí an aschur.</p>\n<p>Tacaíonn gach cúltaca bunachar sonraí ionsuite le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>explain () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ach amháin Oracle toisc nach bhfuil cur i bhfeidhm ann simplí.</p>\n<p>Athraíonn an paraiméadar <code class=\"docutils literal notranslate\">formáid` an fhormáid aschuir ó réamhshocraithe na mbunachair sonraí, atá bunaithe ar théacs de ghnáth. Tacaíonn PostgreSQL le formáidí ``'TEXT'</code>, <code class=\"docutils literal notranslate\">JSON'</code>, <code class=\"docutils literal notranslate\">YAML'</code>, agus <code class=\"docutils literal notranslate\">`XML'</code>. Tacaíonn MariaDB agus MySQL le formáidí <code class=\"docutils literal notranslate\">'TEXT'</code> (ar a dtugtar <code class=\"docutils literal notranslate\">`TRADITIONAL</code> freisin) agus <code class=\"docutils literal notranslate\">`JSON</code>. Tacaíonn MySQL 8.0.16+ le formáid “TREE” feabhsaithe freisin, atá cosúil le aschur <code class=\"docutils literal notranslate\">TEXT</code> PostgreSQL agus úsáidtear de réir réamhshocraithe, má thacaítear leis.</p>\n<p>Glacann roinnt bunachair sonraí le bratacha ar féidir leo tuilleadh faisnéise faoin bhfiosrú Cuir na bratacha seo mar argóintí eochairfhocal. Mar shampla, agus PostgreSQL á úsáid agat:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>title<span class=\"o\">=</span><span class=\"s2\">&quot;My Blog&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>explain<span class=\"p\">(</span>verbose<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span> analyze<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">))</span>\n<span class=\"go\">Seq Scan on public.blog  (cost=0.00..35.50 rows=10 width=12) (actual time=0.004..0.004 rows=10 loops=1)</span>\n<span class=\"go\">  Output: id, title</span>\n<span class=\"go\">  Filter: (blog.title = &#39;My Blog&#39;::bpchar)</span>\n<span class=\"go\">Planning time: 0.064 ms</span>\n<span class=\"go\">Execution time: 0.058 ms</span>\n</code></pre></div>\n<p>Ar roinnt bunachair sonraí, d'fhéadfadh bratacha a bheith ina chúis leis an bhfiosrú a fhorghníomhú a d'fhéadfadh éifeachtaí díobhálacha Mar shampla, d'fhéadfadh athruithe ar shonraí a bheith mar thoradh ar an mbratach ANALYZE` le tacaíocht ó MariaDB, MySQL 8.0.18+, agus PostgreSQL má tá spreagthaí ann nó má ghlaítear feidhm, fiú le haghaidh ceist <code class=\"docutils literal notranslate\">SELECT</code>.</p>\n<aside class=\"version-note version-changed\" data-version=\"5.1\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>Cuireadh tacaíocht don rogha <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>generic_plan <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>ar PostgreSQL 16+ leis.</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.2\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.2</p><p>Support for the <code class=\"docutils literal notranslate\">memory</code> and <code class=\"docutils literal notranslate\">serialize</code> options on PostgreSQL 17+ was\nadded.</p>\n</aside>\n</section>\n</section>\n<section id=\"field-lookups\">\n<span id=\"id4\"></span><h3>Cuardaigh <code class=\"docutils literal notranslate\">Field</code><a class=\"heading-anchor\" href=\"#field-lookups\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Is iad cuardaigh réimse an chaoi a shonraíonn tú feoil clásal SQL <code class=\"docutils literal notranslate\">WHERE</code>. Sonraítear iad mar argóintí eochairfhocal leis na modhanna <code class=\"docutils literal notranslate\">QuerySet</code>: meth: filter () `, :meth: `eisiamh () agus:meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>get () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n<p>&lt;field-lookups-intro&gt;Le haghaidh réamhrá, féach:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>samhlacha agus doiciméadú ceisteanna bunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n<p>Tá cuardaigh ionsuite Django liostaithe thíos. Is féidir freisin a scríobh: doc: saincheaptha cuardach do réimsí samhail. &lt;/howto/custom-lookups&gt;</p>\n<p>Mar áisiúlacht nuair nach gcuirtear aon chineál cuardaigh ar fáil (cosúil le Entry.Objects.get (id=14) `) glactar leis gurb é an cineál cuardaigh: lookup: exact.</p>\n<section id=\"exact\">\n<span id=\"std-fieldlookup-exact\"></span><h4><code class=\"docutils literal notranslate\">`cruth</code><a class=\"heading-anchor\" href=\"#exact\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Meaitseáil cruinn. Más é <code class=\"docutils literal notranslate\">None</code> an luach a sholáthraítear le haghaidh comparáide, léirmhínítear é mar SQL <code class=\"docutils literal notranslate\">NULL</code> (féach:lookup: isnull le haghaidh tuilleadh sonraí).</p>\n<p>Samplaí:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>id__exact<span class=\"o\">=</span><span class=\"mi\">14</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>id__exact<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéisí SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> id <span class=\"o\">=</span> <span class=\"mi\">14</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> id <span class=\"k\">IS</span> <span class=\"k\">NULL</span><span class=\"p\">;</span>\n</code></pre></div>\n<aside class=\"admonition-mysql-comparisons admonition\" role=\"note\">\n<p class=\"admonition-title\">Comparáidí MySQL</p>\n<p>I MySQL, cinneann socrú “comhdhlúthú” tábla bunachar sonraí an bhfuil comparáidí <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>cruinn <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>íogair cás-íogair. Is socrú bunachar sonraí é seo, * ní* suíomh Django. Is féidir do tháblaí MySQL a chumrú chun comparáidí cás-íogair a úsáid, ach tá roinnt trádálacha i gceist. Le haghaidh tuilleadh faisnéise faoi seo, féach an ranna:ref: colation `sa doiciméadúiséis:doc: `&lt;/ref/databases&gt; &lt;mysql-collation&gt;databases.</p>\n</aside>\n</section>\n<section id=\"iexact\">\n<span id=\"std-fieldlookup-iexact\"></span><h4><code class=\"docutils literal notranslate\">iacr</code><a class=\"heading-anchor\" href=\"#iexact\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Meaitseáil cruinn neamh-íogair. Más é <code class=\"docutils literal notranslate\">None</code> an luach a sholáthraítear le haghaidh comparáide, léirmhínítear é mar SQL <code class=\"docutils literal notranslate\">NULL</code> (féach:lookup: isnull le haghaidh tuilleadh sonraí).</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>name__iexact<span class=\"o\">=</span><span class=\"s2\">&quot;beatles blog&quot;</span><span class=\"p\">)</span>\nBlog<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>name__iexact<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéisí SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> name <span class=\"k\">ILIKE</span> <span class=\"s1\">&#39;beatles blog&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> name <span class=\"k\">IS</span> <span class=\"k\">NULL</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Tabhair faoi deara go mbeidh an chéad cheist ag teacht le <code class=\"docutils literal notranslate\">'Beatles Blog`</code>, <code class=\"docutils literal notranslate\">``beatles blog `</code>, <code class=\"docutils literal notranslate\">Beatles Blog</code>, srl.</p>\n<aside class=\"admonition-sqlite-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáideoirí SQLite</p>\n<p>&lt;sqlite-string-matching&gt;Agus na teaghráin cúltaca SQLite agus neamh-ASCII á n-úsáid agat, cuimhnigh: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>nóta bunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>faoi chomparáidí teaghráin. Ní dhéanann SQLite meaitseáil cás-neamh-íogair le haghaidh teaghráin neamh-ASCII.</p>\n</aside>\n</section>\n<section id=\"std-fieldlookup-contains\">\n<span id=\"id5\"></span><h4><code class=\"docutils literal notranslate\">Coimeád</code><a class=\"heading-anchor\" href=\"#std-fieldlookup-contains\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Tástáil srianta cás-íogair.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>headline__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">LIKE</span> <span class=\"s1\">&#39;%Lennon%&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Tabhair faoi deara go mbeidh sé seo comhoiriúnach leis an gceannteideal <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>'Lennon onóir inneo' <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>ach ní <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a><a href=\"#id9\"><span class=\"problematic\" id=\"id10\">``</span></a>lennon onóir inneo'.</p>\n<aside class=\"admonition-sqlite-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáideoirí SQLite</p>\n<p>Ní thacaíonn SQLite le ráitis <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>LIKE <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>atá íogair ó cháis; gníomhaíonn <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>contains` mar icontains do SQLite. Féach an:ref: <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>nóta bunachar sonraí &lt;sqlite-string-matching&gt;`le haghaidh tuilleadh eolais.</p>\n</aside>\n</section>\n<section id=\"icontains\">\n<span id=\"std-fieldlookup-icontains\"></span><h4><code class=\"docutils literal notranslate\">Icontains</code><a class=\"heading-anchor\" href=\"#icontains\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Tástáil srianta cás-neamh-íogair.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>headline__icontains<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">ILIKE</span> <span class=\"s1\">&#39;%Lennon%&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<aside class=\"admonition-sqlite-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáideoirí SQLite</p>\n<p>&lt;sqlite-string-matching&gt;Agus na teaghráin cúltaca SQLite agus neamh-ASCII á n-úsáid agat, cuimhnigh: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>nóta bunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>faoi chomparáidí teaghráin.</p>\n</aside>\n</section>\n<section id=\"in\">\n<span id=\"std-fieldlookup-in\"></span><h4>Invalid section title or transition marker.<a class=\"heading-anchor\" href=\"#in\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>I athraitheach ar leith; go minic liosta, tuple, nó tacar fiosrúcháin. Ní cás úsáide coitianta é, ach glactar le teaghráin (atá inathraithe).</p>\n<p>Samplaí:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>id__in<span class=\"o\">=</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">])</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__in<span class=\"o\">=</span><span class=\"s2\">&quot;abc&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéisí SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> id <span class=\"k\">IN</span> <span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">4</span><span class=\"p\">);</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">IN</span> <span class=\"p\">(</span><span class=\"s1\">&#39;a&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;b&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;c&#39;</span><span class=\"p\">);</span>\n</code></pre></div>\n<p>Is féidir leat tacar ceisteanna a úsáid freisin chun liosta luachanna a mheas go dinimiciúil in ionad liosta de luachanna liteartha a sholáthar:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>inner_qs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Cheddar&quot;</span><span class=\"p\">)</span>\nentries <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog__in<span class=\"o\">=</span>inner_qs<span class=\"p\">)</span>\n</code></pre></div>\n<p>Déanfar an tacar ceisteanna seo a mheas mar ráiteas fo-roghnaithe:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> blog<span class=\"p\">.</span>id <span class=\"k\">IN</span> <span class=\"p\">(</span><span class=\"k\">SELECT</span> id <span class=\"k\">FROM</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> NAME <span class=\"k\">LIKE</span> <span class=\"s1\">&#39;%Cheddar%&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Má théann tú isteach i <code class=\"docutils literal notranslate\">QuerySet</code> a eascraíonn as <code class=\"docutils literal notranslate\">values () ``nó `values_list ()</code> mar luach chuig cuardach <code class=\"docutils literal notranslate\">__in</code>, ní mór duit a chinntiú nach bhfuil ach réimse amháin á bhaint agat sa toradh. Mar shampla, oibreoidh sé seo (scagadh ar ainmneacha an bhlag):</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>inner_qs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Ch&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\nentries <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog__name__in<span class=\"o\">=</span>inner_qs<span class=\"p\">)</span>\n</code></pre></div>\n<p>Ardóidh an sampla seo eisceacht, ós rud é go bhfuil an cheist istigh ag iarraidh dhá luach réimse a bhaint, áit nach bhfuiltear ag súil le ceann amháin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># Bad code! Will raise a TypeError.</span>\ninner_qs <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Ch&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>values<span class=\"p\">(</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;id&quot;</span><span class=\"p\">)</span>\nentries <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog__name__in<span class=\"o\">=</span>inner_qs<span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition-performance-considerations admonition\" id=\"nested-queries-performance\" role=\"note\">\n<p class=\"admonition-title\">Creithniúcháin</p>\n<p>Bí cúramach faoi cheisteanna neadaithe a úsáid agus tuig tréithe feidhmíochta do fhreastalaí bunachar sonraí (má tá amhras ort, tagarmharc!). Ní dhéanann roinnt cúltaca bunachar sonraí, go háirithe MySQL, ceisteanna neadaithe a bharrfheabhsú go han-mhaith. Tá sé níos éifeachtaí, sna cásanna sin, liosta luachanna a bhaint agus ansin é a chur isteach sa dara ceist. Is é sin, déan dhá cheist a fhorghníomhú in ionad ceann amháin:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>values <span class=\"o\">=</span> Blog<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>name__contains<span class=\"o\">=</span><span class=\"s2\">&quot;Cheddar&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span>values_list<span class=\"p\">(</span><span class=\"s2\">&quot;pk&quot;</span><span class=\"p\">,</span> flat<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\nentries <span class=\"o\">=</span> Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>blog__in<span class=\"o\">=</span><span class=\"nb\">list</span><span class=\"p\">(</span>values<span class=\"p\">))</span>\n</code></pre></div>\n<p>Tabhair faoi deara an ghlao <code class=\"docutils literal notranslate\">list () ``timpeall an Blag ``QuerySet</code> chun an chéad cheist a chur i bhfeidhm. Gan é, déanfaí ceist neadaithe a fhorghníomhú, toisc go ndéanfaí: ref: querysets-are-lazy.</p>\n</aside>\n</section>\n<section id=\"gt\">\n<span id=\"std-fieldlookup-gt\"></span><h4><code class=\"docutils literal notranslate\">gt</code><a class=\"heading-anchor\" href=\"#gt\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Níos mó ná.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>id__gt<span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> id <span class=\"o\">&gt;</span> <span class=\"mi\">4</span><span class=\"p\">;</span>\n</code></pre></div>\n</section>\n<section id=\"gte\">\n<span id=\"std-fieldlookup-gte\"></span><h4><code class=\"docutils literal notranslate\">gte</code><a class=\"heading-anchor\" href=\"#gte\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Níos mó ná nó comhionann leis.</p>\n</section>\n<section id=\"lt\">\n<span id=\"std-fieldlookup-lt\"></span><h4><code class=\"docutils literal notranslate\">lt</code><a class=\"heading-anchor\" href=\"#lt\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Níos lú ná.</p>\n</section>\n<section id=\"lte\">\n<span id=\"std-fieldlookup-lte\"></span><h4><code class=\"docutils literal notranslate\">`lte</code><a class=\"heading-anchor\" href=\"#lte\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Níos lú ná nó cothrom le.</p>\n</section>\n<section id=\"startswith\">\n<span id=\"std-fieldlookup-startswith\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>tosaíonn leis ``<a class=\"heading-anchor\" href=\"#startswith\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Tosaíonn cás-íogair - le.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">LIKE</span> <span class=\"s1\">&#39;Lennon%&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Ní thacaíonn SQLite le ráitis <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>LIKE <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>atá íogair ó cháis; gníomhaíonn <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>startswith mar istartswith do SQLite.</p>\n</section>\n<section id=\"istartswith\">\n<span id=\"std-fieldlookup-istartswith\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>istartswith`<a class=\"heading-anchor\" href=\"#istartswith\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Tosaíonn cás-neamh-íogair - le.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__istartswith<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">ILIKE</span> <span class=\"s1\">&#39;Lennon%&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<aside class=\"admonition-sqlite-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáideoirí SQLite</p>\n<p>&lt;sqlite-string-matching&gt;Agus na teaghráin cúltaca SQLite agus neamh-ASCII á n-úsáid agat, cuimhnigh: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>nóta bunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>faoi chomparáidí teaghráin.</p>\n</aside>\n</section>\n<section id=\"endswith\">\n<span id=\"std-fieldlookup-endswith\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Críochnaíonn ``<a class=\"heading-anchor\" href=\"#endswith\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Críochna cás-íogair - le.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__endswith<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">LIKE</span> <span class=\"s1\">&#39;%Lennon&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<aside class=\"admonition-sqlite-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáideoirí SQLite</p>\n<p>Ní thacaíonn SQLite le ráitis <code class=\"docutils literal notranslate\">LIKE</code> íogair cás-íogair; gníomhaíonn <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>endswith mar <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>iendswith` do SQLite. Féach ar an doiciméadach:ref: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>bunachar sonraí &lt;sqlite-string-matching&gt;`le haghaidh tuilleadh eolais.</p>\n</aside>\n</section>\n<section id=\"iendswith\">\n<span id=\"std-fieldlookup-iendswith\"></span><h4><code class=\"docutils literal notranslate\">`Idirleith</code><a class=\"heading-anchor\" href=\"#iendswith\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Críochtaí cás-neamh-íogair - le.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>headline__iendswith<span class=\"o\">=</span><span class=\"s2\">&quot;Lennon&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> headline <span class=\"k\">ILIKE</span> <span class=\"s1\">&#39;%Lennon&#39;</span>\n</code></pre></div>\n<aside class=\"admonition-sqlite-users admonition\" role=\"note\">\n<p class=\"admonition-title\">Úsáideoirí SQLite</p>\n<p>&lt;sqlite-string-matching&gt;Agus na teaghráin cúltaca SQLite agus neamh-ASCII á n-úsáid agat, cuimhnigh: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>nóta bunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>faoi chomparáidí teaghráin.</p>\n</aside>\n</section>\n<section id=\"range\">\n<span id=\"std-fieldlookup-range\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>raon ``<a class=\"heading-anchor\" href=\"#range\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Tástáil raon (cuimsitheach).</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">import</span> <span class=\"nn\">datetime</span>\n\nstart_date <span class=\"o\">=</span> datetime<span class=\"o\">.</span>date<span class=\"p\">(</span><span class=\"mi\">2005</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">)</span>\nend_date <span class=\"o\">=</span> datetime<span class=\"o\">.</span>date<span class=\"p\">(</span><span class=\"mi\">2005</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">,</span> <span class=\"mi\">31</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__range<span class=\"o\">=</span><span class=\"p\">(</span>start_date<span class=\"p\">,</span> end_date<span class=\"p\">))</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> pub_date <span class=\"k\">BETWEEN</span> <span class=\"s1\">&#39;2005-01-01&#39;</span> <span class=\"k\">and</span> <span class=\"s1\">&#39;2005-03-31&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Is féidir leat <code class=\"docutils literal notranslate\">raon ``a úsáid in áit ar bith is féidir leat ``BETWEEN</code> a úsáid i SQL - le haghaidh dátaí, uimhreacha agus fiú carachtair.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Ní chuimsíonn scagadh <code class=\"docutils literal notranslate\">DateTimefield` le dátaí míreanna ar an lá deiridh, toisc go léirmhínítear na teorainneacha mar “0am ar an dáta ar leith”. Dá mbeadh ``pub_date</code> ina DateTimefield`, déanfaí an abairt thuas a iompú isteach sa SQL seo:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> pub_date <span class=\"k\">BETWEEN</span> <span class=\"s1\">&#39;2005-01-01 00:00:00&#39;</span> <span class=\"k\">and</span> <span class=\"s1\">&#39;2005-03-31 00:00:00&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Go ginearálta, ní féidir leat dátaí agus dáta a mheascadh.</p>\n</aside>\n</section>\n<section id=\"date\">\n<span id=\"std-fieldlookup-date\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Dáta ``<a class=\"heading-anchor\" href=\"#date\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta-am, caitheann an luach mar dháta. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé luach dáta.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__date<span class=\"o\">=</span>datetime<span class=\"o\">.</span>date<span class=\"p\">(</span><span class=\"mi\">2005</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__date__gt<span class=\"o\">=</span>datetime<span class=\"o\">.</span>date<span class=\"p\">(</span><span class=\"mi\">2005</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>(Níl aon bhrúin coibhéiseach cód SQL san áireamh don chuardach seo toisc go n-athraíonn cur i bhfeidhm na fiosrúcháin ábhartha i measc innill bhun</p>\n<p>Nuair: SETTING: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"year\">\n<span id=\"std-fieldlookup-year\"></span><h4><code class=\"docutils literal notranslate\">bliant</code><a class=\"heading-anchor\" href=\"#year\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta, cluiche bliana cruinn. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé bliain slámhshláir.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span><span class=\"mi\">2005</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__year__gte<span class=\"o\">=</span><span class=\"mi\">2005</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> pub_date <span class=\"k\">BETWEEN</span> <span class=\"s1\">&#39;2005-01-01&#39;</span> <span class=\"k\">AND</span> <span class=\"s1\">&#39;2005-12-31&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> pub_date <span class=\"o\">&gt;=</span> <span class=\"s1\">&#39;2005-01-01&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"iso-year\">\n<span id=\"std-fieldlookup-iso_year\"></span><h4><code class=\"docutils literal notranslate\">iso_bliain</code><a class=\"heading-anchor\" href=\"#iso-year\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta, comhoiriúnú bliana uimhrithe seachtaine cruinn ISO 8601. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé bliain slámhshláir.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__iso_year<span class=\"o\">=</span><span class=\"mi\">2005</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__iso_year__gte<span class=\"o\">=</span><span class=\"mi\">2005</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"month\">\n<span id=\"std-fieldlookup-month\"></span><h4><code class=\"docutils literal notranslate\">mhí</code><a class=\"heading-anchor\" href=\"#month\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta, cluiche míosa cruinn. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé sláimhir 1 (Eanáir) trí 12 (Nollaig).</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__month<span class=\"o\">=</span><span class=\"mi\">12</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__month__gte<span class=\"o\">=</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;month&#39;</span> <span class=\"k\">FROM</span> pub_date<span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;12&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;month&#39;</span> <span class=\"k\">FROM</span> pub_date<span class=\"p\">)</span> <span class=\"o\">&gt;=</span> <span class=\"s1\">&#39;6&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"day\">\n<span id=\"std-fieldlookup-day\"></span><h4><code class=\"docutils literal notranslate\">Lae</code><a class=\"heading-anchor\" href=\"#day\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta, cluiche lá cruinn. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé lá sláireach.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__day<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__day__gte<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;day&#39;</span> <span class=\"k\">FROM</span> pub_date<span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;day&#39;</span> <span class=\"k\">FROM</span> pub_date<span class=\"p\">)</span> <span class=\"o\">&gt;=</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Tabhair faoi deara go gcuirfidh sé seo aon taifead a mheaitseáil le dáta pub_date ar an tríú lá den mhí, mar shampla 3 Eanáir, 3 Iúil, srl.</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"week\">\n<span id=\"std-fieldlookup-week\"></span><h4><code class=\"docutils literal notranslate\">seachtaine</code><a class=\"heading-anchor\" href=\"#week\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Mai&lt; <a class=\"reference external\" href=\"https://en.wikipedia.org/wiki/ISO-8601\">https://en.wikipedia.org/wiki/ISO-8601</a>&gt; dir le réimsí dáta agus dáta, cuir ar ais uimhir na seachtaine (1-52 nó 53) de réir <a class=\"reference internal\" href=\"#iso-8601\">ISO-8601</a>, ie, tosaíonn seachtainí Dé Luain agus tá an chéad Déardaoin na bliana sa chéad seachtain.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__week<span class=\"o\">=</span><span class=\"mi\">52</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__week__gte<span class=\"o\">=</span><span class=\"mi\">32</span><span class=\"p\">,</span> pub_date__week__lte<span class=\"o\">=</span><span class=\"mi\">38</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>(Níl aon bhrúin coibhéiseach cód SQL san áireamh don chuardach seo toisc go n-athraíonn cur i bhfeidhm na fiosrúcháin ábhartha i measc innill bhun</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"week-day\">\n<span id=\"std-fieldlookup-week_day\"></span><h4><code class=\"docutils literal notranslate\">Lae_na seachtaine</code><a class=\"heading-anchor\" href=\"#week-day\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta-am, cluiche 'lá na seachtaine'. Ligeann sé cuardaigh réimse breise a shlánú.</p>\n<p>Tógann sé luach sláimhir a léiríonn lá na seachtaine ó 1 (Dé Domhnaigh) go 7 (Dé Sathairn).</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__week_day<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__week_day__gte<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>(Níl aon bhrúin coibhéiseach cód SQL san áireamh don chuardach seo toisc go n-athraíonn cur i bhfeidhm na fiosrúcháin ábhartha i measc innill bhun</p>\n<p>Tabhair faoi deara go gcuirfidh sé seo aon taifead a mheaitseáil le <code class=\"docutils literal notranslate\">pub_date</code> a thiteann Dé Luain (lá 2 den tseachtain), beag beann ar an mí nó an bhliain ina dtarlaíonn sé. Déantar laethanta na seachtaine a innéacsú agus lá 1 é Dé Domhnaigh agus lá 7 ina Dé Sathairn.</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"iso-week-day\">\n<span id=\"std-fieldlookup-iso_week_day\"></span><h4><code class=\"docutils literal notranslate\">Lae_iso_seachtaine</code><a class=\"heading-anchor\" href=\"#iso-week-day\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta-am, cluiche cruinn lá ISO 8601 den tseachtain. Ligeann sé cuardaigh réimse breise a shlánú.</p>\n<p>Tógann sé luach sláimhir a léiríonn lá na seachtaine ó 1 (Luan) go 7 (Dé Domhnaigh).</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__iso_week_day<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__iso_week_day__gte<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>(Níl aon bhrúin coibhéiseach cód SQL san áireamh don chuardach seo toisc go n-athraíonn cur i bhfeidhm na fiosrúcháin ábhartha i measc innill bhun</p>\n<p>Tabhair faoi deara go gcuirfidh sé seo aon taifead a mheaitseáil le <code class=\"docutils literal notranslate\">pub_date</code> a thiteann Dé Luain (lá 1 den tseachtain), beag beann ar an mí nó an bhliain ina dtarlaíonn sé. Déantar laethanta na seachtaine a innéacsú agus lá 1 é Dé Luan agus lá 7 é Dé Domhnaigh.</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"quarter\">\n<span id=\"std-fieldlookup-quarter\"></span><h4><code class=\"docutils literal notranslate\">Ráith</code><a class=\"heading-anchor\" href=\"#quarter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus dáta, cluiche 'ceathrú den bhliain'. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé luach sláimhir idir 1 agus 4 a léiríonn ráithe den bhliain.</p>\n<p>Sampla chun iontrálacha a aisghabháil sa dara ráithe (1 Aibreán go 30 Meitheamh):</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__quarter<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>(Níl aon bhrúin coibhéiseach cód SQL san áireamh don chuardach seo toisc go n-athraíonn cur i bhfeidhm na fiosrúcháin ábhartha i measc innill bhun</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"time\">\n<span id=\"std-fieldlookup-time\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Am `<a class=\"heading-anchor\" href=\"#time\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta-ama, caitheann an luach mar am. Ligeann sé cuardaigh réimse breise a shlánú. Glacann sé: aicme: luach datetime.time.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__time<span class=\"o\">=</span>datetime<span class=\"o\">.</span>time<span class=\"p\">(</span><span class=\"mi\">14</span><span class=\"p\">,</span> <span class=\"mi\">30</span><span class=\"p\">))</span>\nEntry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__time__range<span class=\"o\">=</span><span class=\"p\">(</span>datetime<span class=\"o\">.</span>time<span class=\"p\">(</span><span class=\"mi\">8</span><span class=\"p\">),</span> datetime<span class=\"o\">.</span>time<span class=\"p\">(</span><span class=\"mi\">17</span><span class=\"p\">)))</span>\n</code></pre></div>\n<p>(Níl aon bhrúin coibhéiseach cód SQL san áireamh don chuardach seo toisc go n-athraíonn cur i bhfeidhm na fiosrúcháin ábhartha i measc innill bhun</p>\n<p>Nuair: SETTING: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"hour\">\n<span id=\"std-fieldlookup-hour\"></span><h4><code class=\"docutils literal notranslate\">uair an chloig</code><a class=\"heading-anchor\" href=\"#hour\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus ama, meaitseáil uair an chloig cruinn. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé sláimhir idir 0 agus 23.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Event<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>timestamp__hour<span class=\"o\">=</span><span class=\"mi\">23</span><span class=\"p\">)</span>\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>time__hour<span class=\"o\">=</span><span class=\"mi\">5</span><span class=\"p\">)</span>\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>timestamp__hour__gte<span class=\"o\">=</span><span class=\"mi\">12</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;hour&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">timestamp</span><span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;23&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;hour&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">time</span><span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;5&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;hour&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">timestamp</span><span class=\"p\">)</span> <span class=\"o\">&gt;=</span> <span class=\"s1\">&#39;12&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"minute\">\n<span id=\"std-fieldlookup-minute\"></span><h4><code class=\"docutils literal notranslate\">nóiméad</code><a class=\"heading-anchor\" href=\"#minute\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus ama, cluiche beacht nóiméad. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé sláimhir idir 0 agus 59.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Event<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>timestamp__minute<span class=\"o\">=</span><span class=\"mi\">29</span><span class=\"p\">)</span>\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>time__minute<span class=\"o\">=</span><span class=\"mi\">46</span><span class=\"p\">)</span>\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>timestamp__minute__gte<span class=\"o\">=</span><span class=\"mi\">29</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;minute&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">timestamp</span><span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;29&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;minute&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">time</span><span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;46&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;minute&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">timestamp</span><span class=\"p\">)</span> <span class=\"o\">&gt;=</span> <span class=\"s1\">&#39;29&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"second\">\n<span id=\"std-fieldlookup-second\"></span><h4><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>an dara `<a class=\"heading-anchor\" href=\"#second\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Maidir le réimsí dáta agus ama, an dara cluiche cruinn. Ligeann sé cuardaigh réimse breise a shlánú. Tógann sé sláimhir idir 0 agus 59.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Event<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>timestamp__second<span class=\"o\">=</span><span class=\"mi\">31</span><span class=\"p\">)</span>\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>time__second<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">)</span>\nEvent<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>timestamp__second__gte<span class=\"o\">=</span><span class=\"mi\">31</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;second&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">timestamp</span><span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;31&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;second&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">time</span><span class=\"p\">)</span> <span class=\"o\">=</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">;</span>\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> <span class=\"k\">EXTRACT</span><span class=\"p\">(</span><span class=\"s1\">&#39;second&#39;</span> <span class=\"k\">FROM</span> <span class=\"k\">timestamp</span><span class=\"p\">)</span> <span class=\"o\">&gt;=</span> <span class=\"s1\">&#39;31&#39;</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>(Athraíonn an comhréir cruinn SQL do gach inneall bunachar sonraí.)</p>\n<p>Nuair: Socrú: Is é USE_TZ <code class=\"docutils literal notranslate\">True</code>, déantar réimsí dáta-ama a thiontú go dtí an crios ama reatha sula ndéantar iad a scagadh. &lt;database-time-zone-definitions&gt;Éilíonn sé seo: ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sainmhínithe crios ama sa bhunachar sonraí <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>.</p>\n</section>\n<section id=\"isnull\">\n<span id=\"std-fieldlookup-isnull\"></span><h4><code class=\"docutils literal notranslate\">isnull</code><a class=\"heading-anchor\" href=\"#isnull\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Glacann sé <code class=\"docutils literal notranslate\">True</code> nó False`, a fhreagraíonn do cheisteanna SQL de IS NULL` agus <code class=\"docutils literal notranslate\">IS NOT NULL</code>, faoi seach.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>pub_date__isnull<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéis SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> pub_date <span class=\"k\">IS</span> <span class=\"k\">NULL</span><span class=\"p\">;</span>\n</code></pre></div>\n</section>\n<section id=\"regex\">\n<span id=\"std-fieldlookup-regex\"></span><h4><code class=\"docutils literal notranslate\">Regex</code><a class=\"heading-anchor\" href=\"#regex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Meaitseáil léirithe rialta íogair do chás-</p>\n<p>Is é an comhréiteach abairt rialta ná cúltaca an bhunachar sonraí atá in úsáid. I gcás SQLite, nach bhfuil aon tacaíocht léirithe ionsuite aige, soláthraíonn feidhm REGEXP (Python) atá sainmhínithe ag úsáideoir an ghné seo, agus dá bhrí sin is é an comhréiteach abairt rialta modúl re` Python.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>title__regex<span class=\"o\">=</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^(An?|The) +&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéisí SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> title REGEXP <span class=\"nb\">BINARY</span> <span class=\"s1\">&#39;^(An?|The) +&#39;</span><span class=\"p\">;</span> <span class=\"c1\">-- MySQL</span>\n\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> REGEXP_LIKE<span class=\"p\">(</span>title<span class=\"p\">,</span> <span class=\"s1\">&#39;^(An?|The) +&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;c&#39;</span><span class=\"p\">);</span> <span class=\"c1\">-- Oracle</span>\n\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> title <span class=\"o\">~</span> <span class=\"s1\">&#39;^(An?|The) +&#39;</span><span class=\"p\">;</span> <span class=\"c1\">-- PostgreSQL</span>\n\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> title REGEXP <span class=\"s1\">&#39;^(An?|The) +&#39;</span><span class=\"p\">;</span> <span class=\"c1\">-- SQLite</span>\n</code></pre></div>\n<p>Moltar teaghráin amh a úsáid (m.sh., r'foo'` in ionad <code class=\"docutils literal notranslate\">'foo'</code>) chun comhréiteach an abairt rialta a chur isteach.</p>\n</section>\n<section id=\"iregex\">\n<span id=\"std-fieldlookup-iregex\"></span><h4><code class=\"docutils literal notranslate\">iregex</code><a class=\"heading-anchor\" href=\"#iregex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Meaitseáil léirithe rialta neamh-íogair.</p>\n<p>Sampla:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>Entry<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>title__iregex<span class=\"o\">=</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^(an?|the) +&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Coibhéisí SQL:</p>\n<div class=\"code-block\" data-language=\"sql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> title REGEXP <span class=\"s1\">&#39;^(an?|the) +&#39;</span><span class=\"p\">;</span> <span class=\"c1\">-- MySQL</span>\n\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> REGEXP_LIKE<span class=\"p\">(</span>title<span class=\"p\">,</span> <span class=\"s1\">&#39;^(an?|the) +&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;i&#39;</span><span class=\"p\">);</span> <span class=\"c1\">-- Oracle</span>\n\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> title <span class=\"o\">~*</span> <span class=\"s1\">&#39;^(an?|the) +&#39;</span><span class=\"p\">;</span> <span class=\"c1\">-- PostgreSQL</span>\n\n<span class=\"k\">SELECT</span> <span class=\"p\">...</span> <span class=\"k\">WHERE</span> title REGEXP <span class=\"s1\">&#39;(?i)^(an?|the) +&#39;</span><span class=\"p\">;</span> <span class=\"c1\">-- SQLite</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"aggregation-functions\">\n<span id=\"id6\"></span><h3>Feidhmeanna comhiomlán<a class=\"heading-anchor\" href=\"#aggregation-functions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Soláthraíonn Django na feidhmeanna comhiomlánaithe seo a leanas sa mhodúl <code class=\"docutils literal notranslate\">django.db.models</code>. Le haghaidh sonraí maidir le conas na feidhmeanna comhiomlána seo a úsáid, féach:doc: an treoir ábhair ar chomhiomlán' &lt;/topics/db/aggregation&gt;. Féach an doiciméadach:class: `~django.db.models.aggregate chun foghlaim conas do chomhiomláin a chruthú.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Warning</p>\n<p>Ní féidir le SQLite comhiomlánú a láimhseáil ar réimsí dáta/ama as an mbosca. Tá sé seo toisc nach bhfuil aon réimsí dáta/ama dúchasacha i SQLite agus déanann Django aithris ar na gnéithe seo faoi láthair ag baint úsáide as réimse téacs. Ardóidh iarrachtaí comhiomlánú ar réimsí dáta/ama i SQLite <code class=\"docutils literal notranslate\">NotSupportedError</code>.</p>\n</aside>\n<aside class=\"admonition-empty-querysets-or-groups admonition\" role=\"note\">\n<p class=\"admonition-title\">Ceisteanna nó grúpaí folamh</p>\n<p>Tugann feidhmeanna comhiomlánaithe <code class=\"docutils literal notranslate\">None</code> ar ais nuair a úsáidtear iad le <code class=\"docutils literal notranslate\">QuerySet` nó grúpa folamh. Mar shampla, filleann an fheidhm chomhiomlánaithe ``Sum</code> <code class=\"docutils literal notranslate\">None</code> in ionad <code class=\"docutils literal notranslate\">0</code> mura bhfuil aon iontrálacha sa <code class=\"docutils literal notranslate\">QuerySet</code> nó d'aon ghrúpa folamh i <code class=\"docutils literal notranslate\">QuerySet</code> neamh-folamh. Chun luach eile a thabhairt ar ais ina ionad sin, sainmhínigh an argóint <code class=\"docutils literal notranslate\">réamhshocraithe</code>. Is eisceacht é <code class=\"docutils literal notranslate\">Count</code> ón iompar seo; filleann sé <code class=\"docutils literal notranslate\">0</code> má tá an <code class=\"docutils literal notranslate\">QuerySet</code> folamh ós rud é nach dtacaíonn <code class=\"docutils literal notranslate\">Count</code> leis an argóint <code class=\"docutils literal notranslate\">réamhshocraithe</code>.</p>\n</aside>\n<p>Tá na paraiméadair seo a leanas i gcoiteann ag gach comhiomlán:</p>\n<section id=\"expressions\">\n<h4><code class=\"docutils literal notranslate\">léiritheach</code><a class=\"heading-anchor\" href=\"#expressions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Teagáin a thagraíonn réimsí ar an tsamhail, athraíonn an réimse, nó:doc: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>abairtí fiosraitheach' &lt;/ref/models/expressions&gt;.</p>\n</section>\n<section id=\"output-field\">\n<h4><code class=\"docutils literal notranslate\">réimseach_aschuir</code><a class=\"heading-anchor\" href=\"#output-field\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Argóint roghnach a léiríonn na:doc: réimse samhail den luach tuairisceáin &lt;/ref/models/fields&gt;</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Agus cineálacha réimse iolracha á gcomhcheangal agat, ní féidir le Django ach an output_field a chinneadh má tá gach réimse den chineál céanna. Seachas sin, ní mór duit an output_field` a sholáthar duit féin.</p>\n</aside>\n</section>\n<section id=\"aggregate-filter\">\n<span id=\"id7\"></span><h4><code class=\"docutils literal notranslate\">Scagair</code><a class=\"heading-anchor\" href=\"#aggregate-filter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Rud roghnach: class: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Q &lt;django.db.models.Q&gt;`a úsáidtear chun na sraitheanna atá comhiomlánaithe a scagadh.</p>\n<p>Féach: ref: comhiomlánú coinníollach agus:ref: filtering-on-annotations mar shampla úsáid.</p>\n</section>\n<section id=\"default\">\n<span id=\"aggregate-default\"></span><h4><code class=\"docutils literal notranslate\">réamhshocraithe</code><a class=\"heading-anchor\" href=\"#default\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Argóint roghnach a cheadaíonn luach a shonrú le húsáid mar luach réamhshocraithe nuair nach bhfuil aon iontrálacha sa tacar ceisteanna (nó an grúpáil).</p>\n</section>\n<section id=\"id8\">\n<h4><code class=\"docutils literal notranslate\">**breise</code><a class=\"heading-anchor\" href=\"#id8\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Argóintí eochairfhocal ar féidir leo comhthéacs breise a sholáthar don SQL a ghineann an comhiomlán</p>\n</section>\n<section id=\"avg\">\n<h4><code class=\"docutils literal notranslate\">Avg</code><a class=\"heading-anchor\" href=\"#avg\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Avg\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Avg</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">distinct<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">default<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Avg\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé meánluach an abairt a thugtar ar ais, a chaithfidh a bheith uimhriúil mura sonraíonn tú <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>output_field` difriúil.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__avg</code></p></li>\n<li><p>Cineál tuairisceáin: <code class=\"docutils literal notranslate\">float</code> má tá an t-ionchur <code class=\"docutils literal notranslate\">int</code>, ar shlí eile mar an réimse ionchuir, nó <code class=\"docutils literal notranslate\">output_field</code> má sholáthraítear. Má tá an tacar fiosrúcháin nó an grúpáil folamh, cuirtear <code class=\"docutils literal notranslate\">réamhshocraithe</code> ar ais.</p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Avg.distinct\">\n<span class=\"sig-name descname\">distinct</span><a class=\"heading-anchor\" href=\"#django.db.models.Avg.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Roghnach. Má tá <code class=\"docutils literal notranslate\">Distinct=True</code>, filleann <code class=\"docutils literal notranslate\">Avg</code> meánluach na luachanna uathúla ar ais. &lt;field&gt;Is é seo an coibhéis SQL le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>AVG (DISTINCT) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Is é “False” an luach réamhshocraithe.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"id9\">\n<h4><code class=\"docutils literal notranslate\">Comhaireant</code><a class=\"heading-anchor\" href=\"#id9\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Count\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Count</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">distinct<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Count\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé ar ais líon na rudaí a bhaineann tríd an abairt a chuirtear ar fáil. Tá <code class=\"docutils literal notranslate\">Count ('*') ``comhionann leis an abairt SQL ``COUNT (*)</code>.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__count</code></p></li>\n<li><p>Cineál tuairisceáin: <code class=\"docutils literal notranslate\">int</code></p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Count.distinct\">\n<span class=\"sig-name descname\">distinct</span><a class=\"heading-anchor\" href=\"#django.db.models.Count.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Roghnach. Má tá Distinct=True`, ní chuimsíonn an comhaireamh ach cásanna uathúla. Is é seo an coibhéis SQL le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>COUNT (DISTINCT&lt;field&gt;) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Is é “False” an luach réamhshocraithe.</p>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Ní thacaítear leis an argóint <code class=\"docutils literal notranslate\">réamhshocraithe</code>.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"max\">\n<h4><code class=\"docutils literal notranslate\">Uasmhéad</code><a class=\"heading-anchor\" href=\"#max\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Max\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Max</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">default<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Max\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé luach uasta an léirithe a thugtar ar ais.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__max</code></p></li>\n<li><p>Cineál tuairisceáin: mar an gcéanna le réimse ionchuir, nó <code class=\"docutils literal notranslate\">output_field</code> má sholáthraítear. Má tá an tacar ceisteanna nó an grúpáil folamh, cuirtear <code class=\"docutils literal notranslate\">réamhshocraithe</code> ar ais.</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"min\">\n<h4><code class=\"docutils literal notranslate\">Mion</code><a class=\"heading-anchor\" href=\"#min\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Min\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Min</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">default<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Min\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé luach íosta na léirithe tugtha ar ais.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__min</code></p></li>\n<li><p>Cineál tuairisceáin: mar an gcéanna le réimse ionchuir, nó <code class=\"docutils literal notranslate\">output_field</code> má sholáthraítear. Má tá an tacar ceisteanna nó an grúpáil folamh, cuirtear <code class=\"docutils literal notranslate\">réamhshocraithe</code> ar ais.</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"stddev\">\n<h4><code class=\"docutils literal notranslate\">Stddev</code><a class=\"heading-anchor\" href=\"#stddev\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.StdDev\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">StdDev</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">sample<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">default<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.StdDev\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé diall caighdeánach na sonraí san abairt a chuirtear ar fáil ar ais.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__stddev</code></p></li>\n<li><p>Cineál tuairisceáin: <code class=\"docutils literal notranslate\">float</code> má tá an t-ionchur <code class=\"docutils literal notranslate\">int</code>, ar shlí eile mar an réimse ionchuir, nó <code class=\"docutils literal notranslate\">output_field</code> má sholáthraítear. Má tá an tacar fiosrúcháin nó an grúpáil folamh, cuirtear <code class=\"docutils literal notranslate\">réamhshocraithe</code> ar ais.</p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.StdDev.sample\">\n<span class=\"sig-name descname\">sample</span><a class=\"heading-anchor\" href=\"#django.db.models.StdDev.sample\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Roghnach. De réir réamhshocraithe, filleann <code class=\"docutils literal notranslate\">stdDev</code> an diall caighdeánach daonra ar ais. Mar sin féin, má tá <code class=\"docutils literal notranslate\">sample=True</code>, is é an luach tuairisceáin an diall caighdeánach samplach.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"sum\">\n<h4><code class=\"docutils literal notranslate\">Sum</code><a class=\"heading-anchor\" href=\"#sum\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Sum\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Sum</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">distinct<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">default<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Sum\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ríomhann sé suim na luachanna uile den abairt ar leith.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__sum</code></p></li>\n<li><p>Cineál tuairisceáin: mar an gcéanna le réimse ionchuir, nó <code class=\"docutils literal notranslate\">output_field</code> má sholáthraítear. Má tá an tacar ceisteanna nó an grúpáil folamh, cuirtear <code class=\"docutils literal notranslate\">réamhshocraithe</code> ar ais.</p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Sum.distinct\">\n<span class=\"sig-name descname\">distinct</span><a class=\"heading-anchor\" href=\"#django.db.models.Sum.distinct\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Roghnach. Má tá <code class=\"docutils literal notranslate\">Distinct=True</code>, filleann <code class=\"docutils literal notranslate\">Sum</code> suim na luachanna uathúla. Is é seo an coibhéis SQL le <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>SUM (DISTINCT&lt;field&gt;) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>. Is é “False” an luach réamhshocraithe.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"variance\">\n<h4><code class=\"docutils literal notranslate\">Athraithe</code><a class=\"heading-anchor\" href=\"#variance\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Variance\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Variance</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">expression</em>, <em class=\"sig-param\">output_field<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">sample<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">filter<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">default<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>extra</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Variance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé athrú na sonraí san abairt a chuirtear ar fáil ar ais.</p>\n<ul class=\"simple\">\n<li><p>&lt;field&gt;Ainm réamhshocraithe: <code class=\"docutils literal notranslate\">__variance</code></p></li>\n<li><p>Cineál tuairisceáin: <code class=\"docutils literal notranslate\">float</code> má tá an t-ionchur <code class=\"docutils literal notranslate\">int</code>, ar shlí eile mar an réimse ionchuir, nó <code class=\"docutils literal notranslate\">output_field</code> má sholáthraítear. Má tá an tacar fiosrúcháin nó an grúpáil folamh, cuirtear <code class=\"docutils literal notranslate\">réamhshocraithe</code> ar ais.</p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Variance.sample\">\n<span class=\"sig-name descname\">sample</span><a class=\"heading-anchor\" href=\"#django.db.models.Variance.sample\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Roghnach. De réir réamhshocraithe, filleann <code class=\"docutils literal notranslate\">Athraitheacht ``an t-athrú daonra ar ais. Mar sin féin, má tá ``sample=True</code>, is é an luach tuairisceáin an t-athrú samplach.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n</section>\n<section id=\"query-related-tools\">\n<h2>Uirlisí a bhaineann le fiosrú<a class=\"heading-anchor\" href=\"#query-related-tools\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Soláthraíonn an chuid seo ábhar tagartha d'uirlisí a bhaineann le fiosrúcháin nach ndéanfar</p>\n<section id=\"q-objects\">\n<h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Q () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>rudaí<a class=\"heading-anchor\" href=\"#q-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Q\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Q</span><a class=\"heading-anchor\" href=\"#django.db.models.Q\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Léiríonn réad <code class=\"docutils literal notranslate\">Q () ``riocht SQL is féidir a úsáid in oibríochtaí a bhaineann le bunachar sonraí. Tá sé cosúil leis an gcaoi a léiríonn réad an:class: `F () &lt;django.db.models.F&gt;`luach réimse samhail nó anótála. Déanann siad coinníollacha a shainiú agus a athúsáid. Is féidir iad seo a dhiúltú ag baint úsáide as an oibreoir ``~</code> (<code class=\"docutils literal notranslate\">NOT ``), agus a chur le chéile ag baint úsáide as oibreoirí mar `|</code> (<code class=\"docutils literal notranslate\">OR</code>), <code class=\"docutils literal notranslate\">&amp;</code> (<code class=\"docutils literal notranslate\">AND</code>), agus <code class=\"docutils literal notranslate\">^</code> (XOR`). Féach: ref: complex-lookups-with-q.</p>\n</section>\n<section id=\"prefetch-objects\">\n<h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Prefetch () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>rudaí<a class=\"heading-anchor\" href=\"#prefetch-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Prefetch\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Prefetch</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">lookup</em>, <em class=\"sig-param\">queryset<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">to_attr<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Prefetch\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Is féidir an réad <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Prefetch () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid chun oibriú: meth: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>~django.db.models.queryset.prefetch_related () <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">`</span></a>a rialú.</p>\n<p>Déanann an argóint <code class=\"docutils literal notranslate\">lookup</code> cur síos ar na caidrimh atá le leanúint agus oibríonn sé mar an gcéanna leis na cuardaigh sreanga-bhunaithe a chuirtear chuig: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.db.models.query.queryset.prefetch_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> Prefetch\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;choice_set&quot;</span><span class=\"p\">))</span><span class=\"o\">.</span>get<span class=\"p\">()</span><span class=\"o\">.</span>choice_set<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Choice: Not much&gt;, &lt;Choice: The sky&gt;, &lt;Choice: Just hacking again&gt;]&gt;</span>\n<span class=\"go\"># This will only execute two queries regardless of the number of Question</span>\n<span class=\"go\"># and Choice objects.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;choice_set&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">&lt;QuerySet [&lt;Question: What&#39;s up?&gt;]&gt;</span>\n</code></pre></div>\n<p>Soláthraíonn an argóint <code class=\"docutils literal notranslate\">Queryset ``bonn ``QuerySet</code> don chuardach ar leith. Tá sé seo úsáideach chun an oibríocht réamhfhillte a scagadh síos, nó glaoch ar: meth: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.db.models.query.queryset.select_related () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>ón ngaol réamhfhaighte, agus mar sin laghdaítear líon na gceisteanna níos mó fós:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>voted_choices <span class=\"o\">=</span> Choice<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>votes__gt<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>voted_choices\n<span class=\"go\">&lt;QuerySet [&lt;Choice: The sky&gt;]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>prefetch <span class=\"o\">=</span> Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;choice_set&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>voted_choices<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>prefetch<span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">()</span><span class=\"o\">.</span>choice_set<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Choice: The sky&gt;]&gt;</span>\n</code></pre></div>\n<p>Socraíonn an argóint to_attr` toradh na hoibríochta réamhfhillte go tréith saincheaptha:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>prefetch <span class=\"o\">=</span> Prefetch<span class=\"p\">(</span><span class=\"s2\">&quot;choice_set&quot;</span><span class=\"p\">,</span> queryset<span class=\"o\">=</span>voted_choices<span class=\"p\">,</span> to_attr<span class=\"o\">=</span><span class=\"s2\">&quot;voted_choices&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>prefetch<span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">()</span><span class=\"o\">.</span>voted_choices\n<span class=\"go\">[&lt;Choice: The sky&gt;]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>prefetch_related<span class=\"p\">(</span>prefetch<span class=\"p\">)</span><span class=\"o\">.</span>get<span class=\"p\">()</span><span class=\"o\">.</span>choice_set<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Choice: Not much&gt;, &lt;Choice: The sky&gt;, &lt;Choice: Just hacking again&gt;]&gt;</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Nuair a úsáidtear <code class=\"docutils literal notranslate\">to_attr</code>, stóráiltear an toradh réamhfhaighte i liosta. Féadann sé seo feabhas suntasach luais a sholáthar thar ghlaonna traidisiúnta <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>prefetch_related` a stóráilíonn an toradh taisceáilte laistigh de shampla <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>QuerySet`.</p>\n</aside>\n</section>\n<section id=\"prefetch-related-objects\">\n<h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>rudaí prefetch_gaolmhara () ``<a class=\"heading-anchor\" href=\"#prefetch-related-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.prefetch_related_objects\">\n<span class=\"sig-name descname\">prefetch_related_objects</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model_instances</em>, <em class=\"sig-param\"><span class=\"o\">*</span>related_lookups</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.prefetch_related_objects\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.aprefetch_related_objects\">\n<span class=\"sig-name descname\">aprefetch_related_objects</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model_instances</em>, <em class=\"sig-param\"><span class=\"o\">*</span>related_lookups</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.aprefetch_related_objects\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><em>Asynchronous version</em>: <code class=\"docutils literal notranslate\">aprefetch_related_objects()</code></p>\n<p>Faigheann sé na cuardaigh a thugtar roimh ré ar chásanna samhail atá inathraithe. Tá sé seo úsáideach sa chód a fhaigheann liosta de na cásanna samhail seachas <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>QuerySet`; mar shampla, nuair a bhíonn samhlacha á bhfaigheann tú ó taisce nó iad ag instanciú de láimh.</p>\n<p>Rith athraitheach cásanna samhail (caithfidh gach duine a bheith den rang céanna) agus na rudaí cuardaigh nó:class: Prefetch is mian leat réamhfhaighteacht dóibh. Mar shampla:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> prefetch_related_objects\n<span class=\"gp\">&gt;&gt;&gt; </span>restaurants <span class=\"o\">=</span> fetch_top_restaurants_from_cache<span class=\"p\">()</span>  <span class=\"c1\"># A list of Restaurants</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>prefetch_related_objects<span class=\"p\">(</span>restaurants<span class=\"p\">,</span> <span class=\"s2\">&quot;pizzas__toppings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Agus bunachair sonraí iolracha á n-úsáid agat le <code class=\"docutils literal notranslate\">prefetch_related_objects</code>, úsáidfidh an ceist réamhfhreastail an bunachar sonraí a bhaineann leis an samhail samhail. Is féidir é seo a shárú trí thacar ceisteanna saincheaptha a úsáid i gcuardach gaolmhar.</p>\n</section>\n<section id=\"filteredrelation-objects\">\n<h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>FilteredRelation () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>rudaí<a class=\"heading-anchor\" href=\"#filteredrelation-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilteredRelation\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">FilteredRelation</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">relation_name</em>, <em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\">*</abbr></span></em>, <em class=\"sig-param\">condition<span class=\"o\">=</span><span class=\"default_value\">Q()</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.FilteredRelation\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilteredRelation.relation_name\">\n<span class=\"sig-name descname\">relation_name</span><a class=\"heading-anchor\" href=\"#django.db.models.FilteredRelation.relation_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ainm an réimse ar mhaith leat an gaol a scagadh air.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.FilteredRelation.condition\">\n<span class=\"sig-name descname\">condition</span><a class=\"heading-anchor\" href=\"#django.db.models.FilteredRelation.condition\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A: Aicme: ~ Django.db.Models.q in aghaidh an scagadh a rialú.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Úsáidtear <code class=\"docutils literal notranslate\">FilteredRelation</code> le:meth: ~.queryset.annotate () `chun clásal ``ON` a chruthú nuair a dhéantar <code class=\"docutils literal notranslate\">JOIN</code>. Ní ghníomhaíonn sé ar an gcaidreamh réamhshocraithe ach ar an ainm anótála (<code class=\"docutils literal notranslate\">pizzas_vegetarian</code> i sampla thíos).</p>\n<p>Mar shampla, chun bialanna a fháil a bhfuil pizzes vegetarian acu le <code class=\"docutils literal notranslate\">`mozzarella</code> san ainm:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db.models</span> <span class=\"kn\">import</span> FilteredRelation<span class=\"p\">,</span> Q\n<span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>annotate<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    pizzas_vegetarian<span class=\"o\">=</span>FilteredRelation<span class=\"p\">(</span>\n<span class=\"gp\">... </span>        <span class=\"s2\">&quot;pizzas&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        condition<span class=\"o\">=</span>Q<span class=\"p\">(</span>pizzas__vegetarian<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">),</span>\n<span class=\"gp\">... </span>    <span class=\"p\">),</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span><span class=\"o\">.</span>filter<span class=\"p\">(</span>pizzas_vegetarian__name__icontains<span class=\"o\">=</span><span class=\"s2\">&quot;mozzarella&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Má tá líon mór píosaí ann, feidhmíonn an tacar ceisteanna seo níos fearr ná:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Restaurant<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>\n<span class=\"gp\">... </span>    pizzas__vegetarian<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    pizzas__name__icontains<span class=\"o\">=</span><span class=\"s2\">&quot;mozzarella&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n</code></pre></div>\n<p>toisc nach n-oibreoidh an scagadh i gclásal <code class=\"docutils literal notranslate\">WHERE</code> den chéad tacar fiosrúcháin ach ar phiotsaí vegetarian.</p>\n<p>Ní thacaíonn <code class=\"docutils literal notranslate\">FilteredRelation</code> le:</p>\n<ul class=\"simple\">\n<li><p>: meth: .queryset.only agus:meth: ~.queryset.prefetch_related.</p></li>\n<li><p>A: Class: ~django.contrib.contentTypes.Fields.GenericForeignKey oidhreachta ó mhúnla tuismitheora.</p></li>\n</ul>\n</section>\n</section>","rootId":"queryset-api-reference","toc":[{"title":"Nuair a dhéantar meastóireacht a dhéanamh ar ``QuerySet`","anchor":"when-querysets-are-evaluated","children":[{"title":"Picling `QuerySets","anchor":"pickling-querysets","children":[]}]},{"title":"API QuerySet","anchor":"queryset-api","children":[{"title":"Modhanna a thugann QuerySets nua ar ais","anchor":"methods-that-return-new-querysets","children":[{"title":"``scagaire () ``","anchor":"filter","children":[]},{"title":"``eisiamh () ``","anchor":"exclude","children":[]},{"title":"``annotate () ``","anchor":"annotate","children":[]},{"title":"``alias () ``","anchor":"alias","children":[]},{"title":"``ord_by () ``","anchor":"order-by","children":[]},{"title":"``droim () `","anchor":"reverse","children":[]},{"title":"``difriúil () ``","anchor":"distinct","children":[]},{"title":"``luachanna () ``","anchor":"values","children":[]},{"title":"``liosta_luachanna () ``","anchor":"values-list","children":[]},{"title":"``dátaí () ``","anchor":"dates","children":[]},{"title":"``dáta-amanna () ``","anchor":"datetimes","children":[]},{"title":"``aon cheann () `","anchor":"none","children":[]},{"title":"``gach () `","anchor":"all","children":[]},{"title":"``aontas () ``","anchor":"union","children":[]},{"title":"``trasna () ``","anchor":"intersection","children":[]},{"title":"``difríocht () ``","anchor":"difference","children":[]},{"title":"``roghnai_bhainteach () ``","anchor":"select-related","children":[]},{"title":"``prefetch_related () ``","anchor":"prefetch-related","children":[]},{"title":"``breise () ``","anchor":"extra","children":[]},{"title":"``iarchur () `","anchor":"defer","children":[]},{"title":"``amháin () `","anchor":"only","children":[]},{"title":"``ag baint úsáide as () `","anchor":"using","children":[]},{"title":"``roghnaithe_for_nuashonraithe () ``","anchor":"select-for-update","children":[]},{"title":"``amh () ``","anchor":"raw","children":[]}]},{"title":"Oibreoirí a chuireann ar ais QuerySets nua","anchor":"operators-that-return-new-querysets","children":[{"title":"AGUS (``& ``)","anchor":"and","children":[]},{"title":"NÓ (|)","anchor":"or","children":[]},{"title":"XOR (^)","anchor":"xor","children":[]}]},{"title":"Modhanna nach gcuireann ar ais QuerySets","anchor":"methods-that-do-not-return-querysets","children":[{"title":"``get () `","anchor":"get","children":[]},{"title":"``cruthaigh () ``","anchor":"create","children":[]},{"title":"``get_or_create () `","anchor":"get-or-create","children":[]},{"title":"``Update_or_create () ``","anchor":"update-or-create","children":[]},{"title":"``bulk_create () ``","anchor":"bulk-create","children":[]},{"title":"``bulk_update () ``","anchor":"bulk-update","children":[]},{"title":"``comhaireamh () ``","anchor":"count","children":[]},{"title":"``in_bulk () ``","anchor":"in-bulk","children":[]},{"title":"``iterator () ``","anchor":"iterator","children":[{"title":"Le cúrsaí taobh an fhreastalaí","anchor":"with-server-side-cursors","children":[]},{"title":"Gan cúrsaí taobh an fhreastalaí","anchor":"without-server-side-cursors","children":[]}]},{"title":"``is déanaí () ``","anchor":"latest","children":[]},{"title":"``is luaithe () ``","anchor":"earliest","children":[]},{"title":"``chéad () `","anchor":"first","children":[]},{"title":"``deireanach () `","anchor":"last","children":[]},{"title":"``comhiomlán () ``","anchor":"aggregate","children":[]},{"title":"``ann () ``","anchor":"exists","children":[]},{"title":"tá ()","anchor":"contains","children":[]},{"title":"``nuashonrú () ``","anchor":"update","children":[{"title":"Tacar ceisteanna ordaithe","anchor":"ordered-queryset","children":[]}]},{"title":"``scrios () ``","anchor":"delete","children":[]},{"title":"``as_bainisteoir () ``","anchor":"as-manager","children":[]},{"title":"``mhínigh () ``","anchor":"explain","children":[]}]},{"title":"Cuardaigh Field","anchor":"field-lookups","children":[{"title":"`cruth","anchor":"exact","children":[]},{"title":"iacr","anchor":"iexact","children":[]},{"title":"Coimeád","anchor":"std-fieldlookup-contains","children":[]},{"title":"Icontains","anchor":"icontains","children":[]},{"title":"Invalid section title or transition marker.","anchor":"in","children":[]},{"title":"gt","anchor":"gt","children":[]},{"title":"gte","anchor":"gte","children":[]},{"title":"lt","anchor":"lt","children":[]},{"title":"`lte","anchor":"lte","children":[]},{"title":"``tosaíonn leis ``","anchor":"startswith","children":[]},{"title":"``istartswith`","anchor":"istartswith","children":[]},{"title":"``Críochnaíonn ``","anchor":"endswith","children":[]},{"title":"`Idirleith","anchor":"iendswith","children":[]},{"title":"``raon ``","anchor":"range","children":[]},{"title":"``Dáta ``","anchor":"date","children":[]},{"title":"bliant","anchor":"year","children":[]},{"title":"iso_bliain","anchor":"iso-year","children":[]},{"title":"mhí","anchor":"month","children":[]},{"title":"Lae","anchor":"day","children":[]},{"title":"seachtaine","anchor":"week","children":[]},{"title":"Lae_na seachtaine","anchor":"week-day","children":[]},{"title":"Lae_iso_seachtaine","anchor":"iso-week-day","children":[]},{"title":"Ráith","anchor":"quarter","children":[]},{"title":"``Am `","anchor":"time","children":[]},{"title":"uair an chloig","anchor":"hour","children":[]},{"title":"nóiméad","anchor":"minute","children":[]},{"title":"``an dara `","anchor":"second","children":[]},{"title":"isnull","anchor":"isnull","children":[]},{"title":"Regex","anchor":"regex","children":[]},{"title":"iregex","anchor":"iregex","children":[]}]},{"title":"Feidhmeanna comhiomlán","anchor":"aggregation-functions","children":[{"title":"léiritheach","anchor":"expressions","children":[]},{"title":"réimseach_aschuir","anchor":"output-field","children":[]},{"title":"Scagair","anchor":"aggregate-filter","children":[]},{"title":"réamhshocraithe","anchor":"default","children":[]},{"title":"**breise","anchor":"id8","children":[]},{"title":"Avg","anchor":"avg","children":[]},{"title":"Comhaireant","anchor":"id9","children":[]},{"title":"Uasmhéad","anchor":"max","children":[]},{"title":"Mion","anchor":"min","children":[]},{"title":"Stddev","anchor":"stddev","children":[]},{"title":"Sum","anchor":"sum","children":[]},{"title":"Athraithe","anchor":"variance","children":[]}]}]},{"title":"Uirlisí a bhaineann le fiosrú","anchor":"query-related-tools","children":[{"title":"``Q () ``rudaí","anchor":"q-objects","children":[]},{"title":"``Prefetch () ``rudaí","anchor":"prefetch-objects","children":[]},{"title":"``rudaí prefetch_gaolmhara () ``","anchor":"prefetch-related-objects","children":[]},{"title":"``FilteredRelation () ``rudaí","anchor":"filteredrelation-objects","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/5.2/ref/"},{"docname":"ref/models/index","title":"Samhla","url":"/ga/5.2/ref/models/"}],"prev":{"docname":"ref/models/instances","title":"Tagairt sampla samhail","url":"/ga/5.2/ref/models/instances/"},"next":{"docname":"ref/models/lookups","title":"Tagairt API cuardaigh","url":"/ga/5.2/ref/models/lookups/"},"formats":{"html":"/ga/5.2/ref/models/querysets/","markdown":"/ga/5.2/ref/models/querysets.md","json":"/ga/5.2/ref/models/querysets.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/models/querysets.txt","official":"https://docs.djangoproject.com/ga/5.2/ref/models/querysets/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}