{"title":"Creat na cineálacha ábhair","version":"5.2","locale":"ga","docname":"ref/contrib/contenttypes","url":"/ga/5.2/ref/contrib/contenttypes/","canonical":"https://djangodocs.dev/ga/5.2/ref/contrib/contenttypes/","summary":"Cuimsíonn Django feidhmchlár a:mod: ~django.contrib.contenttypes atá in ann na samhlacha go léir atá suiteáilte i do thionscadal Django faoi thiomáint a rianú, ag…","html":"<span id=\"the-contenttypes-framework\"></span><h1>Creat na cineálacha ábhair<a class=\"heading-anchor\" href=\"#module-django.contrib.contenttypes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Cuimsíonn Django feidhmchlár a:mod: ~django.contrib.contenttypes atá in ann na samhlacha go léir atá suiteáilte i do thionscadal Django faoi thiomáint a rianú, ag soláthar comhéadan cineálach ardleibhéil chun oibriú le do mhúnlaí.</p>\n<section id=\"overview\">\n<h2>Forbhreathnú<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>I gcroílár an fheidhmchláir contenttypes tá an tsamhail:class: ~django.contrib.contentTypes.Models.contentType, a chónaíonn ag <code class=\"docutils literal notranslate\"><span class=\"pre\">Django.Contrib.ContentTypes.Models.ContentType</span></code>. Léiríonn agus stóráil cásanna de:class: ~django.contrib.contentTypes.Models.ContentType faisnéis faoi na samhlacha atá suiteáilte i do thionscadal, agus cruthaítear cásanna nua de:class: ~Django.Contrib.ContentTypes.Models.ContentType go huathoibríoch aon uair a shuiteáiltear samhlacha nua.</p>\n<p>Tá modhanna ag cásanna de:class: ~django.contrib.contentTypes.Models.ContentType chun na ranganna samhail a léiríonn siad a thabhairt ar ais agus chun rudaí a fhiosrú ó na samhlacha sin. :class: ~django.contrib.contentTypes.Models.contentType tá a:ref: bainisteoir saincheapaithe freisin a chuireann modhanna chun oibriú le:class: ~django.contrib.contentTypes.Models.contentType agus chun cásanna de:class: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~django.contrib.contentTypes.Models.contentType &lt;custom-managers&gt;`a fháil do mhúnla áirithe.</p>\n<p>Is féidir caidreamh idir do mhúnlaí agus:class: ~django.contrib.contentTypes.Models.contentType a úsáid freisin chun caidrimh “cineálacha” a chumasú idir sampla de cheann de do mhúnlaí agus cásanna d'aon mhúnla atá suiteáilte agat.</p>\n</section>\n<section id=\"installing-the-contenttypes-framework\">\n<h2>Creat na cineálacha ábhair a shuiteáil<a class=\"heading-anchor\" href=\"#installing-the-contenttypes-framework\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tá an creat cineálacha ábhair san áireamh sa liosta réamhshocraithe:setting: INSTALLED_APPS a chruthaigh <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span> <span class=\"pre\">startproject</span></code>, ach má bhain tú é nó má shocraigh tú do liosta:setting: INSTALLED_APPS de láimh, is féidir leat é a chumasú trí <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes'</span></code> a chur le d':setting: INSTALLED_APPS <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>socrú.</p>\n<p>De ghnáth is smaoineamh maith é creat na cineálacha ábhair a shuiteáil; éilíonn roinnt d'fheidhmchláir cuabháilte eile Django é:</p>\n<ul class=\"simple\">\n<li><p>Úsáideann an feidhmchlár riaracháin é chun stair gach réad a cuireadh leis nó a athraigh tríd an gcomhéadan riaracháin a logáil.</p></li>\n<li><p>Django's:mod: Úsáideann <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>creat fíordheimhniúcháin &lt;django.contrib.auth&gt;`é chun ceadanna úsáideora a cheangal le samhlacha ar leith.</p></li>\n</ul>\n</section>\n<section id=\"the-contenttype-model\">\n<h2>An tsamhail <code class=\"docutils literal notranslate\"><span class=\"pre\">ContentType</span></code><a class=\"heading-anchor\" href=\"#the-contenttype-model\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ContentType</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tá dhá réimse ag gach sampla de:class: ~django.contrib.contentTypes.Models.ContentType a chuireann, le chéile, cur síos uathúil ar mhúnla suiteáilte:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.app_label\">\n<span class=\"sig-name descname\"><span class=\"pre\">app_label</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.app_label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ainm an fheidhmchláir tá an tsamhail mar chuid de. Tógtar é seo ó:attr: app_label tréith an tsamhail, agus ní chuimsíonn sé ach an cuid deireanaí* de chonair allmhairithe Python an fheidhmchláir; <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes</span></code>, mar shampla, éiríonn u:attr: app_label de contenttypes`.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.model\">\n<span class=\"sig-name descname\"><span class=\"pre\">model</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ainm an rang samhail.</p>\n</dd></dl>\n\n<p>Ina theannta sin, tá an maoin seo a leanas ar fáil:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.name\">\n<span class=\"sig-name descname\"><span class=\"pre\">name</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ainm inléite don duine ar an gcineál ábhair. &lt;django.db.models.Field.verbose_name&gt;Tógtar é seo ón tréith: attr: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>verbose_name <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>den tsamhail.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Breathnaímid ar shampla chun a fheiceáil conas a oibríonn sé seo. Má tá an feidhmchlár: mod: ~django.contrib.contenttypes suiteáilte cheana féin, agus ansin cuir:mod: an feidhmchlár láithreáin `le do shuiteáil: `SET &lt;django.contrib.sites&gt;TING: `INSTALLED_APPS agus rith <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">migrate</span></code> chun é a shuiteáil, suiteálfar an samhail:class: Django.contrib.sites.models.site i do bhunachar sonraí. In éineacht leis cruthófar sampla nua de:class: ~django.contrib.contentTypes.Models.contentType leis na luachanna seo a leanas:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.app_label\" title=\"django.contrib.contenttypes.models.ContentType.app_label\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">app_label</span></code></a>\nwill be set to <code class=\"docutils literal notranslate\"><span class=\"pre\">'sites'</span></code> (the last part of the Python\npath <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sites</span></code>).</p></li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.model\" title=\"django.contrib.contenttypes.models.ContentType.model\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">model</span></code></a>\nwill be set to <code class=\"docutils literal notranslate\"><span class=\"pre\">'site'</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"methods-on-contenttype-instances\">\n<h2>Modhanna ar chásanna <code class=\"docutils literal notranslate\"><span class=\"pre\">ContentType</span></code><a class=\"heading-anchor\" href=\"#methods-on-contenttype-instances\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tá modhanna ag gach ceann: Class: ~django.contrib.contentTypes.Models.contentType a ligeann duit a fháil ó a:class: ~django.contrib.contentTypes.Models.contentType sampla don tsamhail a léiríonn sé, nó chun rudaí a aisghabháil ón tsamhail sin:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.get_object_for_this_type\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ContentType.</span></span><span class=\"sig-name descname\"><span class=\"pre\">get_object_for_this_type</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">using</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.get_object_for_this_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>&lt;django.db.models.query.QuerySet.get&gt;Glacann sé tacar d'argóintí bail:ref: lookup &lt;field-lookups-intro&gt;`don tsamhail the:class: `~django.contrib.contentTypes.Models.contentType léiríonn, agus déanaim:meth: a get () cuardach ar an tsamhail sin, ag cur an réad comhfhreagrach ar ais. Is féidir an argóint <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>úsáid <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid chun bunachar sonraí difriúil a shonrú ná an ceann réamhshocraithe.</p>\n<aside class=\"version-note version-changed\" data-version=\"5.1\">\n<p class=\"version-note-title\">Changed in Django 5.1</p><p>Cuireadh an argóint <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>úsáid <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>leis.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.model_class\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">ContentType.</span></span><span class=\"sig-name descname\"><span class=\"pre\">model_class</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.model_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann sé an rang samhail a léiríonn this:class: ~django.contrib.contentTypes.Models.contentType sampla.</p>\n</dd></dl>\n\n<p>Mar shampla, d'fhéadfaimis breathnú suas ar:class: ~django.contrib.contentTypes.Models.contentType don tsamhail:class: ~django.contrib.auth.models.user:</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=\"w\"> </span><span class=\"nn\">django.contrib.contenttypes.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">ContentType</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">user_type</span> <span class=\"o\">=</span> <span class=\"n\">ContentType</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">app_label</span><span class=\"o\">=</span><span class=\"s2\">&quot;auth&quot;</span><span class=\"p\">,</span> <span class=\"n\">model</span><span class=\"o\">=</span><span class=\"s2\">&quot;user&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">user_type</span>\n<span class=\"go\">&lt;ContentType: user&gt;</span>\n</code></pre></div>\n<p>Agus ansin bain úsáid as chun ceist a dhéanamh le haghaidh áirithe: class: ~django.contrib.auth.models.user, nó chun rochtain a fháil ar an rang samhail <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></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><span class=\"n\">user_type</span><span class=\"o\">.</span><span class=\"n\">model_class</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;class &#39;django.contrib.auth.models.User&#39;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">user_type</span><span class=\"o\">.</span><span class=\"n\">get_object_for_this_type</span><span class=\"p\">(</span><span class=\"n\">username</span><span class=\"o\">=</span><span class=\"s2\">&quot;Guido&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;User: Guido&gt;</span>\n</code></pre></div>\n<p>Le chéile, cumasaíonn :meth: ~django.contrib.contenttypes.models.contenttype.get_object_for_this_type agus:meth: ~django.contrib.contenttypes.models.contenttype.model_class dhá chás úsáide thar a bheith tábhachtach:</p>\n<ol class=\"arabic simple\">\n<li><p>Ag baint úsáide as na modhanna seo, is féidir leat cód cineálach ardleibhéil a scríobh a dhéanann ceisteanna ar aon mhúnla suiteáilte - in ionad rang samhail amháin a iompórtáil agus a úsáid, is féidir leat cuardach <code class=\"docutils literal notranslate\"><span class=\"pre\">app_label</span></code> agus model ``model` a chur isteach i a:class: ~django.contrib.contenttypes.models.contentType ag rith, agus ansin oibriú leis an rang samhail nó rudaí a aisghabháil uaidh.</p></li>\n<li><p>Is féidir leat samhail eile a cheangal la:class: ~django.contrib.contentTypes.Models.contentType mar bhealach chun cásanna de a cheangal le ranganna samhail áirithe, agus na modhanna seo a úsáid chun rochtain a fháil ar na ranganna samhail sin.</p></li>\n</ol>\n<p>Baineann roinnt de na feidhmchláir cuabháilte Django úsáid as an teicníc deireanach sin. Mar shampla, :class: an córas ceadanna &lt;django.contrib.auth.models.Permission&gt;`i gcreat fíordheimhnithe Django úsáideann samhail a:class: `~django.contrib.auth.models.permission le eochair eachtrach chuig:class: ~django.contrib.contentTypes.Models.ContentType; is féidir leis an iontráil blog a chur leis” nó “is féidir scéal nuachta a scriosadh”.</p>\n<section id=\"the-contenttypemanager\">\n<h3>An <code class=\"docutils literal notranslate\"><span class=\"pre\">ContentTypeManager</span></code><a class=\"heading-anchor\" href=\"#the-contenttypemanager\"><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.contrib.contenttypes.models.ContentTypeManager\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ContentTypeManager</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ContentType</span></code></a> also has a custom\nmanager, <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentTypeManager\" title=\"django.contrib.contenttypes.models.ContentTypeManager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ContentTypeManager</span></code></a>,\nwhich adds the following methods:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.clear_cache\">\n<span class=\"sig-name descname\"><span class=\"pre\">clear_cache</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.clear_cache\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Glanann sé taisce inmheánach a úsáideann: :class: ~django.contrib.contentTypes.Models.ContentType chun súil a choinneáil ar na samhlacha a bhfuil cruthaithe ai:class: ~django.contrib.contentTypes.Models.contentType cásanna. Is dócha nach mbeidh ort an modh seo a ghlaoch ort féin riamh; Glaoifidh Django air go huathoibríoch nuair a bheidh sé ag teastáil.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_id\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_for_id</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_id\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cuardaigh a:class: ~django.contrib.contentTypes.Models.contentType de réir ID. Ós rud é go n-úsáideann an modh seo an taisce roinnte céanna amha:meth: ~django.contrib.contentTypes.Models.contentTypeManager.get_for_model, is fearr an modh seo a úsáid thar an <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>ContentType.Objects.get (pk=id) <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>is gnách</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_model\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_for_model</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">for_concrete_model</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tógann sé rang samhail nó sampla de mhúnla, agus filleann sé an sampla:class: ~django.contrib.contentTypes.Models.contentType a léiríonn an tsamhail sin. Ligeann <code class=\"docutils literal notranslate\"><span class=\"pre\">for_concrete_model=False</span></code> an: class: ~django.contrib.contentTypes.Models.contentType de mhúnla seachfhreastalaí a fháil.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_models\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_for_models</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">models</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">for_concrete_models</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_models\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Glacann sé líon éagsúil ranganna samhail, agus cuireann sé foclóir ar ais ag mapáil na ranganna samhail chuig na cásanna: class: ~django.contrib.contentTypes.Models.contentType a léiríonn iad. <code class=\"docutils literal notranslate\"><span class=\"pre\">for_concrete_models=False</span></code> ceadaíonn an: class: ~django.contrib.contentTypes.Models.contentType de mhúnlaí seachfhreastalaí a fháil.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_by_natural_key\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_by_natural_key</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">app_label</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_by_natural_key\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Filleann sé an sampla:class: ~django.contrib.contentTypes.Models.contentType a aithnítear go uathúil ag an lipéad iarratais agus ainm an tsamhail. &lt;topics-serialization-natural-keys&gt;Is é príomhchuspóir an mhodha seo ná: class: ~django.contrib.contentTypes.Models.contentType rudaí le tagairt a thabhairt trí a:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>eochair nádúrtha <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>le linn dísheerialaithe.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Tá an modh: Meth: ~ContentTypeManager.get_for_Model () `úsáideach go háirithe nuair a fhios agat go gcaithfidh tú oibriú le a:class: `ContentType ach níl tú ag iarraidh dul chuig an trioblóid meiteashonraí an tsamhail a fháil chun cuardach lá &lt;django.contrib.contenttypes.models.ContentType&gt;imhe 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=\"w\"> </span><span class=\"nn\">django.contrib.auth.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">User</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">ContentType</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get_for_model</span><span class=\"p\">(</span><span class=\"n\">User</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;ContentType: user&gt;</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"generic-relations\">\n<span id=\"module-django.contrib.contenttypes.fields\"></span><span id=\"id1\"></span><h2>Caidreamh cineálach<a class=\"heading-anchor\" href=\"#generic-relations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ag cur eochair eachtrach ó cheann de do mhúnlaí féin chuig: class: ~django.contrib.contentTypes.Models.ContentType is féidir le do mhúnla é féin a cheangal go héifeachtach le rang samhail eile, mar atá i sampla an tsamhail: ~django.contrib.auth.models.permission thuas. Ach is féidir dul céim amháin níos faide agus úsáid:class: ~django.contrib.contentTypes.Models.contentType chun caidrimh fíor-chineálacha (ar a dtugtar “polaimorfach” uaireanta) idir samhlacha a chumasú.</p>\n<p>Mar shampla, d'fhéadfaí é a úsáid le haghaidh córas clibeála 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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.contenttypes.fields</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GenericForeignKey</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.contenttypes.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">ContentType</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">TaggedItem</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">tag</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">SlugField</span><span class=\"p\">()</span>\n    <span class=\"n\">content_type</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">ContentType</span><span class=\"p\">,</span> <span class=\"n\">on_delete</span><span class=\"o\">=</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n    <span class=\"n\">object_id</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">PositiveBigIntegerField</span><span class=\"p\">()</span>\n    <span class=\"n\">content_object</span> <span class=\"o\">=</span> <span class=\"n\">GenericForeignKey</span><span class=\"p\">(</span><span class=\"s2\">&quot;content_type&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;object_id&quot;</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </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=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">tag</span>\n\n    <span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        <span class=\"n\">indexes</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n            <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Index</span><span class=\"p\">(</span><span class=\"n\">fields</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;content_type&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;object_id&quot;</span><span class=\"p\">]),</span>\n        <span class=\"p\">]</span>\n</code></pre></div>\n<p>Ní féidir le gnáth:class: ~django.db.models.foreignKey ach “pointe” ar mhúnla amháin eile, rud a chiallaíonn má úsáideann an tsamhail <code class=\"docutils literal notranslate\"><span class=\"pre\">TaggEditem</span></code> a:class: ~Django.db.Models.ForeignKey bheadh air samhail amháin agus amháin a roghnú chun clibeanna a stóráil dó. Soláthraíonn an feidhmchlár contenttypes cineál réimse speisialta (GenericForeignKey) a oibríonn timpeall air seo agus a ligeann don chaidreamh a bheith le haon mhúnla:</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.fields.GenericForeignKey\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericForeignKey</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tá trí chuid ann chun a: class a bhunú: ~django.contrib.contentTypes.Fields.GenericForeignKey:</p>\n<ol class=\"arabic simple\">\n<li><p>Tabhair do mhúnla a:class: ~django.db.models.foreignKey chuig: class: ~django.contrib.contentTypes.Models.ContentType. Is é “content_type” an gnáthainm don réimse seo.</p></li>\n<li><p>Give your model a field that can store primary key values from the\nmodels you'll be relating to. For most models, this means a\n<a class=\"reference internal\" href=\"/ga/5.2/ref/models/fields/#django.db.models.PositiveBigIntegerField\" title=\"django.db.models.PositiveBigIntegerField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">PositiveBigIntegerField</span></code></a>. The usual name\nfor this field is &quot;object_id&quot;.</p></li>\n<li><p>Tabhair do mhúnla a:class: ~django.contrib.contentTypes.Fields.GenericForeignKey, agus cuir ainmneacha an dá réimse a thuairiscítear thuas air. Má ainmnítear na réimsí seo “content_type” agus “object_id”, is féidir leat é seo a fhágáil - is iad sin na hainmneacha réimse réamhshocraithe: class: ~django.contrib.contentTypes.fields.GenericForeignKey a lorgfaidh.</p></li>\n</ol>\n<p>&lt;django.db.models.Options.indexes&gt;Murab ionann agus don: class: ~django.db.models.foreignKey, cruthaítear innéacs bunachar sonraí <em>not</em> go huathoibríoch ar:class: ~django.contrib.contentTypes.Fields.GenericForeignKey, mar sin moltar duit: attr: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Meta.Indexes <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>a úsáid chun d'innéacs colún iolrach féin a chur leis. An t-iompar seo: ticéad: <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>d'fhéadfadh athrú &lt;23435&gt;`sa todhchaí.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model\">\n<span class=\"sig-name descname\"><span class=\"pre\">for_concrete_model</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Má tá <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>, beidh an réimse in ann samhlacha seachfhreastalaí a thagairt. Is é réamhshocraithe <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Léiríonn sé seo an argóint <code class=\"docutils literal notranslate\"><span class=\"pre\">for_concrete_model</span></code> chuig: meth: ~django.contrib.contentTypes.Models.contentTypeManager.get_for_model.</p>\n</dd></dl>\n\n</dd></dl>\n\n<aside class=\"admonition-primary-key-type-compatibility admonition\">\n<p class=\"admonition-title\">Comhoiriúnacht príomhchineál</p>\n<p>Ní gá go mbeadh an réimse “object_id” an cineál céanna leis na príomhréimsí ar na samhlacha gaolmhara, ach caithfidh a bpríomh-luachanna a bheith inéigeantach don chineál céanna leis an réimse “object_id” trí:meth: ~django.db.models.field.get_db_prep_value modh.</p>\n<p>Mar shampla, más mian leat caidreamh cineálach a cheadú le samhlacha le príomhréimsí éither:class: ~django.db.models.integerfield nó:class: ~django.db.models.charfield príomhréimsí, is féidir leat:class: ~django.db.models.charfield a úsáid don réimse “object_id” ar do mhúnla ós rud é gur féidir slána a úsáid chuig teaghráin ag: meth: ~django.db.models.field.get_db_prep_value.</p>\n<p>Chun an tsolúbthacht is mó is féidir leat a: class: ~django.db.models.textfield a úsáid nach bhfuil an fad uasta sainmhínithe aige, ach d'fhéadfadh pionóis feidhmíochta suntasacha a bheith air seo ag brath ar do chúltaca bunachar sonraí.</p>\n<p>Níl aon réiteach aonmhéid a oireann do gach duine cén cineál réimse is fearr dó. Ba cheart duit meastóireacht a dhéanamh ar na samhlacha a bhfuil tú ag súil leo a bheith ag cur in iúl agus a chinneadh cén réiteach is éifeachtaí do do chás úsáide</p>\n</aside>\n<aside class=\"admonition-serializing-references-to-contenttype-objects admonition\">\n<p class=\"admonition-title\">Tagairtí a shraitheadh do rudaí <code class=\"docutils literal notranslate\"><span class=\"pre\">contentType</span></code></p>\n<p>Má tá sonraí á sraitheadh agat (mar shampla, agus tú ag giniú:class: ~django.test.transactionTestCase.fixtures) ó mhúnla a chuireann caidreamh cineálach i bhfeidhm, is dócha go mbeadh eochair nádúrtha á úsáid agat chun rudaí gaolmha:class: ~Django.Contrib.ContentTypes.Models.ContentType a aithint go uathúil. Féach: ref: eochracha nádúrtha `agus &lt;topics-serialization-natural-keys&gt;:option: `dumpdata --natural-foreign le haghaidh tuilleadh faisnéise.</p>\n</aside>\n<p>Cuirfidh sé seo ar chumas API cosúil leis an gceann a úsáidtear le haghaidh gnáth:class: ~django.db.models.foreignKey; beidh réimse <code class=\"docutils literal notranslate\"><span class=\"pre\">content_object</span></code> ag gach TaggEditem` a thugann an réad a bhaineann leis, agus is féidir leat a shannadh don réimse sin nó é a úsáid agus TaggEditem` á chruthú:</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=\"w\"> </span><span class=\"nn\">django.contrib.auth.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">User</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">guido</span> <span class=\"o\">=</span> <span class=\"n\">User</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">username</span><span class=\"o\">=</span><span class=\"s2\">&quot;Guido&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">TaggedItem</span><span class=\"p\">(</span><span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">guido</span><span class=\"p\">,</span> <span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;bdfl&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">content_object</span>\n<span class=\"go\">&lt;User: Guido&gt;</span>\n</code></pre></div>\n<p>Má scriostar an réad gaolmhar, fanann na réimsí <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">object_id</span></code> socraithe dá luachanna bunaidh agus filleann <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></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><span class=\"n\">guido</span><span class=\"o\">.</span><span class=\"n\">delete</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">content_object</span>  <span class=\"c1\"># returns None</span>\n</code></pre></div>\n<p>Mar gheall ar an mbealach:class: ~django.contrib.contentTypes.Fields.GenericForeignKey a chuirtear i bhfeidhm, ní féidir leat réimsí den sórt sin a úsáid go díreach le scagairí (filter () ``agus ``eisiamh ()`, mar shampla) tríd an API bunachar sonraí. Toisc nach gnáth-réad réimse é a:class: ~django.contrib.contentTypes.Fields.GenericForeignKey, ní oibreoidh na samplaí 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=\"go\"># This will fail</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">guido</span><span class=\"p\">)</span>\n<span class=\"go\"># This will also fail</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">guido</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Likewise, <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code></a>s\ndo not appear in <a class=\"reference internal\" href=\"/ga/5.2/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a>s.</p>\n<section id=\"reverse-generic-relations\">\n<h3>Caidreamh cineálach ar ais<a class=\"heading-anchor\" href=\"#reverse-generic-relations\"><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.contrib.contenttypes.fields.GenericRelation\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericRelation</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericRelation\"><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.contrib.contenttypes.fields.GenericRelation.related_query_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">related_query_name</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericRelation.related_query_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Níl an gaol ar an réad gaolmhar ar ais leis an réad seo ann de réir réamhshocraithe. Cruthaíonn socrú <code class=\"docutils literal notranslate\"><span class=\"pre\">related_query_name</span></code> gaol ón réad gaolmhar ar ais leis an gceann seo. Ligeann sé seo fiosrú agus scagadh ón réad gaolmhar.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Má tá a fhios agat cé na samhlacha a bheidh á úsáid agat is minice, is féidir leat caidreamh cineálach “droim” a chur leis freisin chun API breise a chumasú. 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=\"w\"> </span><span class=\"nn\">django.contrib.contenttypes.fields</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GenericRelation</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Bookmark</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">URLField</span><span class=\"p\">()</span>\n    <span class=\"n\">tags</span> <span class=\"o\">=</span> <span class=\"n\">GenericRelation</span><span class=\"p\">(</span><span class=\"n\">TaggedItem</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Beidh tréith <code class=\"docutils literal notranslate\"><span class=\"pre\">tags</span></code> ag gach cás <code class=\"docutils literal notranslate\"><span class=\"pre\">Leabharmharca</span></code>, ar féidir iad a úsáid chun a TaggEditems` gaolmhara a aisghabhá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><span class=\"n\">b</span> <span class=\"o\">=</span> <span class=\"n\">Bookmark</span><span class=\"p\">(</span><span class=\"n\">url</span><span class=\"o\">=</span><span class=\"s2\">&quot;https://www.djangoproject.com/&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">TaggedItem</span><span class=\"p\">(</span><span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">b</span><span class=\"p\">,</span> <span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;django&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t1</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">TaggedItem</span><span class=\"p\">(</span><span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">b</span><span class=\"p\">,</span> <span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;python&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">t2</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;]&gt;</span>\n</code></pre></div>\n<p>Is féidir leat <code class=\"docutils literal notranslate\"><span class=\"pre\">add</span> <span class=\"pre\">()</span> <span class=\"pre\">``,</span> <span class=\"pre\">`create</span> <span class=\"pre\">()</span></code>, nó <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>set () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid freisin chun caidrimh a chruthú:</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=\"n\">t3</span> <span class=\"o\">=</span> <span class=\"n\">TaggedItem</span><span class=\"p\">(</span><span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;Web development&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">add</span><span class=\"p\">(</span><span class=\"n\">t3</span><span class=\"p\">,</span> <span class=\"n\">bulk</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;Web framework&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;TaggedItem: Web framework&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;, &lt;TaggedItem: Web development&gt;, &lt;TaggedItem: Web framework&gt;]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">set</span><span class=\"p\">([</span><span class=\"n\">t1</span><span class=\"p\">,</span> <span class=\"n\">t3</span><span class=\"p\">])</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: Web development&gt;]&gt;</span>\n</code></pre></div>\n<p>Scriosfaidh an glao <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>remove () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>mórchóir na rudaí samhail sonraithe:</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=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">remove</span><span class=\"p\">(</span><span class=\"n\">t3</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;]&gt;</span>\n</code></pre></div>\n<p>Is féidir an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>clear () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>a úsáid chun gach rud gaolmhara a scriosadh go mór 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=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">clear</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">b</span><span class=\"o\">.</span><span class=\"n\">tags</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n</code></pre></div>\n<p>Sainmhínithe:Class: ~django.contrib.contentTypes.Fields.GenericRelation le tacar related_query_name` ceadaíonn fiosrú ón réad 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=\"n\">tags</span> <span class=\"o\">=</span> <span class=\"n\">GenericRelation</span><span class=\"p\">(</span><span class=\"n\">TaggedItem</span><span class=\"p\">,</span> <span class=\"n\">related_query_name</span><span class=\"o\">=</span><span class=\"s2\">&quot;bookmark&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cumasaíonn sé seo oibríochtaí scagtha, ordaithe agus fiosrúcháin eile ar <code class=\"docutils literal notranslate\"><span class=\"pre\">Bookmark</span> <span class=\"pre\">``ó</span> <span class=\"pre\">`TaggEditem</span></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><span class=\"c1\"># Get all tags belonging to bookmarks containing `django` in the url</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">bookmark__url__contains</span><span class=\"o\">=</span><span class=\"s2\">&quot;django&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;]&gt;</span>\n</code></pre></div>\n<p>Mura gcuireann tú an <code class=\"docutils literal notranslate\"><span class=\"pre\">related_query_name</span></code> leis, is féidir leat na cineálacha céanna cuardaigh a dhéanamh de láimh:</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=\"n\">bookmarks</span> <span class=\"o\">=</span> <span class=\"n\">Bookmark</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">url__contains</span><span class=\"o\">=</span><span class=\"s2\">&quot;django&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">bookmark_type</span> <span class=\"o\">=</span> <span class=\"n\">ContentType</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get_for_model</span><span class=\"p\">(</span><span class=\"n\">Bookmark</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">content_type__pk</span><span class=\"o\">=</span><span class=\"n\">bookmark_type</span><span class=\"o\">.</span><span class=\"n\">id</span><span class=\"p\">,</span> <span class=\"n\">object_id__in</span><span class=\"o\">=</span><span class=\"n\">bookmarks</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;]&gt;</span>\n</code></pre></div>\n<p>Díreach cosúil:class: ~django.contrib.contentTypes.Fields.GenericForeignKey glacann le hainmneacha na réimsí cineál ábhair agus Object-ID mar argóintí, mar sin freisin: class: ~django.contrib.contentTypes.Fields.GenericRelation; má tá an tsamhail a bhfuil an eochair eachtrach cineálach ag úsáid ainmneacha na réimsí sin, ní mór duit na n-ainmneacha a rith na réimsí agus a: aicme: .GenericRelation á bhunú leis. Mar shampla, má úsáideann an tsamhail <code class=\"docutils literal notranslate\"><span class=\"pre\">TaggEditem</span></code> dá dtagraítear thuas réimsí darb ainm content_type_fk` agus object_primary_key` chun a eochair eachtrach cineálach a chruthú, ansin caithfear a:class: .GenericRelation ar ais a shainiú 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><span class=\"n\">tags</span> <span class=\"o\">=</span> <span class=\"n\">GenericRelation</span><span class=\"p\">(</span>\n    <span class=\"n\">TaggedItem</span><span class=\"p\">,</span>\n    <span class=\"n\">content_type_field</span><span class=\"o\">=</span><span class=\"s2\">&quot;content_type_fk&quot;</span><span class=\"p\">,</span>\n    <span class=\"n\">object_id_field</span><span class=\"o\">=</span><span class=\"s2\">&quot;object_primary_key&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Tabhair faoi deara freisin, má scriosann tú réad a bhfuil a:class: ~django.contrib.contentTypes.Fields.GenericRelation, scriosfar aon rudaí a bhfuil a:class: ~django.contrib.contentTypes.Fields.GenericForeignKey ag díriú air freisin. Sa sampla thuas, ciallaíonn sé seo dá scriosfaí réad <code class=\"docutils literal notranslate\"><span class=\"pre\">Leabharmharc</span></code>, go scriosfaí aon rudaí <code class=\"docutils literal notranslate\"><span class=\"pre\">TaggEditem</span></code> ag díriú air ag an am céanna.</p>\n<p>Unlike:class: ~Django.db.Models.ForeignKey, :class: ~django.contrib.contentTypes.fields.GenericForeignKey ní ghlacann argóint a:attr: ~django.db.models.foreignKey.on_delete chun an t-iompar seo a shaincheapadh; más mian leat, is féidir leat an cascade-scriosadh a sheachaint gan úsáid: class: ~django.contrib.contentTypes.Fields.GenericRelation, agus is féidir iompar malartach a sholáthar tríd an gcomhartha: data: ~django.db.models.signals.pre_delete.</p>\n</section>\n<section id=\"generic-relations-and-aggregation\">\n<h3>Caidreamh cineálach agus comhiomlánú<a class=\"heading-anchor\" href=\"#generic-relations-and-aggregation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"/ga/5.2/topics/db/aggregation/\"><span class=\"doc\">Django's database aggregation API</span></a> works with a\n<a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GenericRelation</span></code></a>. For example, you\ncan find out how many tags all the bookmarks have:</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=\"n\">Bookmark</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">aggregate</span><span class=\"p\">(</span><span class=\"n\">Count</span><span class=\"p\">(</span><span class=\"s2\">&quot;tags&quot;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;tags__count&#39;: 3}</span>\n</code></pre></div>\n</section>\n<section id=\"generic-relation-in-forms\">\n<span id=\"module-django.contrib.contenttypes.forms\"></span><h3>Gaol cineálach i bhfoirmeacha<a class=\"heading-anchor\" href=\"#generic-relation-in-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Soláthraíonn an modúl:mod: django.contrib.contenttypes.forms:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.forms.BaseGenericInlineFormSet\" title=\"django.contrib.contenttypes.forms.BaseGenericInlineFormSet\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BaseGenericInlineFormSet</span></code></a></p></li>\n<li><p>Monarcha formset, :func: generic_inlineformset_factory, le húsáid le:class: ~django.contrib.contentTypes.Fields.GenericForeignKey.</p></li>\n</ul>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.forms.BaseGenericInlineFormSet\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BaseGenericInlineFormSet</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.forms.BaseGenericInlineFormSet\"><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.contrib.contenttypes.forms.generic_inlineformset_factory\">\n<span class=\"sig-name descname\"><span class=\"pre\">generic_inlineformset_factory</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">model</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">ModelForm</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">formset</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">BaseGenericInlineFormSet</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">ct_field</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'content_type'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fk_field</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'object_id'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fields</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">exclude</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">extra</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">3</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">can_order</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">can_delete</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">max_num</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">formfield_callback</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">validate_max</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">for_concrete_model</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">min_num</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">validate_min</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">absolute_max</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">can_delete_extra</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.forms.generic_inlineformset_factory\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Tugann <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericInlineFormSet</span></code> ar ais ag baint úsáid:func: ~django.forms.models.modelformset_factory.</p>\n<p>Ní mór duit <code class=\"docutils literal notranslate\"><span class=\"pre\">ct_field</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">fk_field</span></code> a sholáthar má tá siad difriúil ó na réamhshocraithe, <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">object_id</span></code> faoi seach. Tá paraiméadair eile cosúil leis na paraiméadair atá doiciméadaithe in:func: ~django.forms.models.modelformset_factory agus:func: ~django.forms.models.inlineformset_factory.</p>\n<p>Freagraíonn an argóint for_concrete_model` don argóint: ~django.contrib.contentTypes.Fields.GenericForeignKey.for_Concrete_Model ar GenericForeignKey`.</p>\n</dd></dl>\n\n</section>\n<section id=\"generic-relations-in-admin\">\n<span id=\"module-django.contrib.contenttypes.admin\"></span><h3>Caidreamh cineálach i riarachán<a class=\"heading-anchor\" href=\"#generic-relations-in-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Soláthraíonn an modúl:mod: django.contrib.contenttypes.admin :class: ~django.contrib.contentTypes.admin.GenericTabularInline agus:class: ~django.contrib.contentTypes.admin.GenericStackedInline (fo-aicm:class: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~Django.Contrib.ContentTypes.ContentTypes.GenericInlineModelAdmin <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>)</p>\n<p>Cuireann na ranganna agus na feidhmeanna seo ar chumas caidreamh cineálach a úsáid i bhfoirmeacha agus an riarachán. &lt;/topics/forms/modelforms&gt; &lt;using-generic-relations-as-an-inline&gt;Féach an doiciméadach:doc: model formset agus:ref: <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>admin <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>le haghaidh tuilleadh eolais.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericInlineModelAdmin</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Oidhreacht an aicme:Class: ~django.contrib.contentTypes.admin.GenericInlineModelAdmin gach airíonna ó aicme:class: ~django.contrib.admin.inlineModelAdmin aicme. Mar sin féin, cuireann sé cúpla ceann féin leis chun oibriú leis an ngaol cineálach:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_field\">\n<span class=\"sig-name descname\"><span class=\"pre\">ct_field</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ainm an: aicme: ~django.contrib.contentTypes.Models.contentType eochair réimse eachtrach ar an tsamhail. Réamhshocraithe go <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_fk_field\">\n<span class=\"sig-name descname\"><span class=\"pre\">ct_fk_field</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_fk_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ainm an réimse sláimhir a léiríonn ID an réad gaolmhar. Réamhshocraithe go <code class=\"docutils literal notranslate\"><span class=\"pre\">object_id</span></code>.</p>\n</dd></dl>\n\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericTabularInline\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericTabularInline</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericTabularInline\"><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 class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericStackedInline\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericStackedInline</span></span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericStackedInline\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Fo-aicmí de:class: GenericInlineModelAdmin le leagan amach cruachta agus táblaí, faoi seach.</p>\n</dd></dl>\n\n</section>\n<section id=\"genericprefetch\">\n<span id=\"module-django.contrib.contenttypes.prefetch\"></span><h3><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>GenericPrefetch () ``<a class=\"heading-anchor\" href=\"#genericprefetch\"><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.contrib.contenttypes.prefetch.GenericPrefetch\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GenericPrefetch</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">lookup</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">querysets</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">to_attr</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.prefetch.GenericPrefetch\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Tá an cuardach seo cosúil le <code class=\"docutils literal notranslate\"><span class=\"pre\">Prefetch</span> <span class=\"pre\">()</span> <span class=\"pre\">``agus</span> <span class=\"pre\">níor</span> <span class=\"pre\">chóir</span> <span class=\"pre\">é</span> <span class=\"pre\">a</span> <span class=\"pre\">úsáid</span> <span class=\"pre\">ach</span> <span class=\"pre\">ar</span> <span class=\"pre\">``GenericForeignKey</span></code>. Glacann an argóint <code class=\"docutils literal notranslate\"><span class=\"pre\">Querysets</span></code> le liosta de na ceisteanna, gach ceann acu le haghaidh <code class=\"docutils literal notranslate\"><span class=\"pre\">Contenttype</span></code> difriúil. Tá sé seo úsáideach do GenericForeignKey` le sraith torthaí neamh-aonchineálach.</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=\"w\"> </span><span class=\"nn\">django.contrib.contenttypes.prefetch</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GenericPrefetch</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">bookmark</span> <span class=\"o\">=</span> <span class=\"n\">Bookmark</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">url</span><span class=\"o\">=</span><span class=\"s2\">&quot;https://www.djangoproject.com/&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">animal</span> <span class=\"o\">=</span> <span class=\"n\">Animal</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;lion&quot;</span><span class=\"p\">,</span> <span class=\"n\">weight</span><span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;great&quot;</span><span class=\"p\">,</span> <span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">bookmark</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">tag</span><span class=\"o\">=</span><span class=\"s2\">&quot;awesome&quot;</span><span class=\"p\">,</span> <span class=\"n\">content_object</span><span class=\"o\">=</span><span class=\"n\">animal</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">prefetch</span> <span class=\"o\">=</span> <span class=\"n\">GenericPrefetch</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"s2\">&quot;content_object&quot;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"n\">Bookmark</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">(),</span> <span class=\"n\">Animal</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">only</span><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<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">TaggedItem</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">prefetch_related</span><span class=\"p\">(</span><span class=\"n\">prefetch</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">all</span><span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: Great&gt;, &lt;TaggedItem: Awesome&gt;]&gt;</span>\n</code></pre></div>\n</section>\n</section>","rootId":"module-django.contrib.contenttypes","toc":[{"title":"Forbhreathnú","anchor":"overview","children":[]},{"title":"Creat na cineálacha ábhair a shuiteáil","anchor":"installing-the-contenttypes-framework","children":[]},{"title":"An tsamhail ContentType","anchor":"the-contenttype-model","children":[]},{"title":"Modhanna ar chásanna ContentType","anchor":"methods-on-contenttype-instances","children":[{"title":"An ContentTypeManager","anchor":"the-contenttypemanager","children":[]}]},{"title":"Caidreamh cineálach","anchor":"generic-relations","children":[{"title":"Caidreamh cineálach ar ais","anchor":"reverse-generic-relations","children":[]},{"title":"Caidreamh cineálach agus comhiomlánú","anchor":"generic-relations-and-aggregation","children":[]},{"title":"Gaol cineálach i bhfoirmeacha","anchor":"generic-relation-in-forms","children":[]},{"title":"Caidreamh cineálach i riarachán","anchor":"generic-relations-in-admin","children":[]},{"title":"``GenericPrefetch () ``","anchor":"genericprefetch","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/5.2/ref/"},{"docname":"ref/contrib/index","title":"Pacáistí contrib","url":"/ga/5.2/ref/contrib/"}],"prev":{"docname":"ref/contrib/auth","title":"django.contrib.auth","url":"/ga/5.2/ref/contrib/auth/"},"next":{"docname":"ref/contrib/flatpages","title":"An aip flatpages","url":"/ga/5.2/ref/contrib/flatpages/"},"formats":{"html":"/ga/5.2/ref/contrib/contenttypes/","markdown":"/ga/5.2/ref/contrib/contenttypes.md","json":"/ga/5.2/ref/contrib/contenttypes.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/contrib/contenttypes.txt","official":"https://docs.djangoproject.com/ga/5.2/ref/contrib/contenttypes/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}