{"title":"Scríobh do chéad aip Django, cuid 2","version":"5.2","locale":"ga","docname":"intro/tutorial02","url":"/ga/5.2/intro/tutorial02/","canonical":"https://djangodocs.dev/ga/5.2/intro/tutorial02/","summary":"Tosaíonn an rang teagaisc seo nuair a d'fhág :d oc:Tutorial 1 </intro/tutorial01>.","html":"<h1>Scríobh do chéad aip Django, cuid 2<a class=\"heading-anchor\" href=\"#writing-your-first-django-app-part-2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Tosaíonn an rang teagaisc seo nuair a d'fhág :d oc:Tutorial 1 &lt;/intro/tutorial01&gt;. Cuirfimid an bunachar sonraí ar bun, cruthóimid do chéad mhúnla, agus cuirfimid réamhrá tapa ar shuíomh riaracháin Django a ghintear go huathoibríoch.</p>\n<aside class=\"admonition-where-to-get-help admonition\" role=\"note\">\n<p class=\"admonition-title\">Cá háit le cabhair a fháil:</p>\n<p>Má tá deacracht agat dul tríd an rang teagaisc seo, téigh ar aghaidh chuig an rannán :d oc:'Getting Help&lt;/faq/help&gt;' den rannán Ceisteanna Coitianta.</p>\n</aside>\n<section id=\"database-setup\">\n<h2>Socrú bunachar sonraí<a class=\"heading-anchor\" href=\"#database-setup\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anois, oscail suas <code class=\"file docutils literal notranslate\">mysite/settings.py</code>. Is gnáth-mhodúl Python é le hathróga ar leibhéal an mhodúil a léiríonn suíomhanna Django.</p>\n<p>De réir réamhshocraithe, úsáideann an chumraíocht <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\">DATABASES</code></a> SQLite. Más rud é go bhfuil bunachair shonraí nua agat, nó mura bhfuil suim agat ach Django a thriail, is é seo an rogha is éasca. Tá SQLite san áireamh i Python, mar sin ní bheidh ort aon rud eile a shuiteáil chun tacú le do bhunachar sonraí. Agus do chéad tionscadal fíor á thosú, áfach, b'fhéidir gur mhaith leat úsáid a bhaint as bunachar sonraí níos inscálaithe cosúil le PostgreSQL, chun tinneas cinn a bhaineann le hathrú bunachar sonraí a sheachaint.</p>\n<p>Más mian leat bunachar sonraí eile a úsáid, féach <a class=\"reference internal\" href=\"/ga/5.2/topics/install/#database-installation\"><span class=\"std std-ref\">mionsonraí chun do bhunachar sonraí a shaincheapadh agus a chur ar siúl</span></a>.</p>\n<p>Agus tú ag eagarthóireacht :comhad: mysite/settings.py, socraigh <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-TIME_ZONE\"><code class=\"xref std std-setting docutils literal notranslate\">TIME_ZONE</code></a> chuig do chrios ama.</p>\n<p>Chomh maith leis sin, tabhair faoi deara an socrú <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> ag barr an chomhaid. Coinníonn sé sin ainmneacha na bhfeidhmchlár Django go léir atá i ngníomh sa chás Django seo. Is féidir feidhmchláir a úsáid i dtionscadail iolracha, agus is féidir leat iad a phacáistiú agus a dháileadh lena n-úsáid ag daoine eile ina dtionscadail.</p>\n<p>De réir réamhshocraithe, : socrú: tá na haipeanna seo a leanas i INSTALLED_APPS, agus tagann gach ceann díobh le Django:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/ga/5.2/ref/contrib/admin/#module-django.contrib.admin\" title=\"django.contrib.admin: Django's admin site.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.admin</code></a> -- An suíomh riaracháin. Bainfidh tú úsáid as gan mhoill.</p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/5.2/topics/auth/#module-django.contrib.auth\" title=\"django.contrib.auth: Django's authentication framework.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.auth</code></a> -- Córas fíordheimhnithe.</p></li>\n<li><p><a class=\"reference internal\" href=\"/ga/5.2/ref/contrib/contenttypes/#module-django.contrib.contenttypes\" title=\"django.contrib.contenttypes: Provides generic interface to installed models.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.contenttypes</code></a> -- Creat le haghaidh cineálacha ábhair.</p></li>\n<li><p>:mod:'django.contrib.sessions' -- Creat seisiúin.</p></li>\n<li><p>:mod:'django.contrib.messages' -- Creat teachtaireachtaí.</p></li>\n<li><p>:mod:'django.contrib.staticfiles' -- Creat chun comhaid statacha a bhainistiú.</p></li>\n</ul>\n<p>These applications are included by default as a convenience for the common case.</p>\n<p>Baineann cuid de na feidhmchláir seo úsáid as tábla bunachar sonraí amháin ar a laghad, áfach, mar sin ní mór dúinn na táblaí a chruthú sa bhunachar sonraí sular féidir linn iad a úsáid. Chun é sin a dhéanamh, rith an t-ordú seo a leanas:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py migrate\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py migrate\n</code></pre></div></div></div>\n<p>The <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a> command looks at the <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> setting\nand creates any necessary database tables according to the database settings\nin your <code class=\"file docutils literal notranslate\">mysite/settings.py</code> file and the database migrations shipped\nwith the app (we'll cover those later). You'll see a message for each\nmigration it applies. If you're interested, run the command-line client for your\ndatabase and type <code class=\"docutils literal notranslate\">\\dt</code> (PostgreSQL), <code class=\"docutils literal notranslate\">SHOW TABLES;</code> (MariaDB, MySQL),\n<code class=\"docutils literal notranslate\">.tables</code> (SQLite), or <code class=\"docutils literal notranslate\">SELECT TABLE_NAME FROM USER_TABLES;</code> (Oracle) to\ndisplay the tables Django created.</p>\n<aside class=\"admonition-for-the-minimalists admonition\" role=\"note\">\n<p class=\"admonition-title\">Do na íostach</p>\n<p>Like we said above, the default applications are included for the common\ncase, but not everybody needs them. If you don't need any or all of them,\nfeel free to comment-out or delete the appropriate line(s) from\n<a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> before running <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a>. The\n<a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a> command will only run migrations for apps in\n<a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>.</p>\n</aside>\n</section>\n<section id=\"creating-models\">\n<span id=\"id1\"></span><h2>Samhlacha a chruthú<a class=\"heading-anchor\" href=\"#creating-models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anois déanfaimid do mhúnlaí a shainiú - go bunúsach, do leagan amach bunachar sonraí, le meiteashonraí breise.</p>\n<aside class=\"admonition-philosophy admonition\" role=\"note\">\n<p class=\"admonition-title\">Fealsúnacht</p>\n<p>Is éard is samhail ann ná an fhoinse amháin, deifnídeach faisnéise faoi do shonraí. Cuimsíonn sé na réimsí riachtanacha agus iompraíochtaí na sonraí atá á stóráil agat. Leanann Django an <a class=\"reference internal\" href=\"/ga/5.2/misc/design-philosophies/#dry\"><span class=\"std std-ref\">TIRIM Prionsabal</span></a>. Is é an sprioc ná do mhúnla sonraí a shainiú in aon áit amháin agus rudaí a dhíorthú go huathoibríoch uaidh.</p>\n<p>Áiríonn sé seo na haistrithe - murab ionann agus Ruby On Rails, mar shampla, díorthaítear ascnaimh go hiomlán ó do chomhad samhlacha, agus go bunúsach is stair iad ar féidir le Django rolladh tríd chun scéimre do bhunachar sonraí a nuashonrú chun do mhúnlaí reatha a mheaitseáil.</p>\n</aside>\n<p>In ár app vótaíochta, cruthóimid dhá mhúnla: `` Ceist`` agus `` Rogha``. Tá ceist agus dáta foilsithe ag <code class=\"docutils literal notranslate\">Ceist</code>. Tá dhá réimse ag <code class=\"docutils literal notranslate\">Choice</code>: téacs na rogha agus scóir vóta. Baineann gach <code class=\"docutils literal notranslate\">Rogha</code> le <code class=\"docutils literal notranslate\">Ceist</code>.</p>\n<p>Déanann ranganna Python ionadaíocht ar na coincheapa seo. Cuir an comhad <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:comhad:`polls/models.py`</span></a> in eagar ionas go mbeidh cuma air seo:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">polls/models.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 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\">Question</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    question_text <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n    pub_date <span class=\"o\">=</span> models<span class=\"o\">.</span>DateTimeField<span class=\"p\">(</span><span class=\"s2\">&quot;date published&quot;</span><span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Choice</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    question <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Question<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n    choice_text <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n    votes <span class=\"o\">=</span> models<span class=\"o\">.</span>IntegerField<span class=\"p\">(</span>default<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>Anseo, déantar ionadaíocht ar gach samhail ag aicme a fho-aicmí :aicme: django.db.models.Model. Tá roinnt athróg ranga ag gach samhail, agus léiríonn gach ceann acu réimse bunachar sonraí sa tsamhail.</p>\n<p>Léirítear gach réimse ag sampla de <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:aicme:`~django.db.models.Réimse`</span></a> rang -- m.sh., <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">:aicme:`~django.db.models.CharField`</span></a> le haghaidh réimsí carachtar agus <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">:aicme:`~ django .db.models.DateTimeField`</span></a> le haghaidh amanna dáta. Insíonn sé seo do Django cén cineál sonraí atá i seilbh gach réimse.</p>\n<p>Is é ainm gach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:aicme:`~django.db.models.Field`</span></a> shampla (m.sh. <code class=\"docutils literal notranslate\">question_text</code> nó `` pub_date``) ainm an réimse, i bhformáid meaisín-chairdiúil. Úsáidfidh tú an luach seo i do chód Python, agus úsáidfidh do bhunachar sonraí é mar ainm an cholúin.</p>\n<p>Is féidir leat an chéad argóint suímh roghnach a úsáid chuig:rang:~django.db.models.Field chun ainm atá inléite ag an duine a ainmniú. Úsáidtear é sin i gcúpla cuid introspective de Django, agus déantar é a dhúbailt mar dhoiciméadú. Mura soláthraítear an réimse seo, úsáidfidh Django an t-ainm meaisín-inléite. Sa sampla seo, níl ach ainm inléite daonna sainmhínithe againn do <code class=\"docutils literal notranslate\">Question.pub_date</code>. I gcás gach réimse eile sa mhúnla seo, is leor ainm meaisín-inléite na páirce mar a ainm inléite ag an duine.</p>\n<p>Bhí argóintí ag teastáil ó roinnt ranganna <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:rang:`~django.db.models.Field`</span></a>. <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">:rang:`~django.db.models.CharField`</span></a>, mar shampla, éilíonn tú <a class=\"reference internal\" href=\"/ga/5.2/ref/models/fields/#django.db.models.CharField.max_length\" title=\"django.db.models.CharField.max_length\"><code class=\"xref py py-attr docutils literal notranslate\">max_length</code></a> a thabhairt dó. Úsáidtear é sin ní hamháin sa scéimre bunachar sonraí, ach i mbailíochtú, mar a fheicfimid go luath.</p>\n<p>A <a class=\"reference internal\" href=\"/ga/5.2/ref/models/fields/#django.db.models.Field\" title=\"django.db.models.Field\"><code class=\"xref py py-class docutils literal notranslate\">Field</code></a> can also have various optional arguments; in\nthis case, we've set the <a class=\"reference internal\" href=\"/ga/5.2/ref/models/fields/#django.db.models.Field.default\" title=\"django.db.models.Field.default\"><code class=\"xref py py-attr docutils literal notranslate\">default</code></a> value of\n<code class=\"docutils literal notranslate\">votes</code> to 0.</p>\n<p>Ar deireadh, tabhair faoi deara go bhfuil gaol sainithe, ag baint úsáide as <a class=\"reference internal\" href=\"/ga/5.2/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a>. Deir sé sin le Django go bhfuil gach <code class=\"docutils literal notranslate\">Rogha</code> gaolmhar le <code class=\"docutils literal notranslate\">Ceist</code> amháin. Tacaíonn Django leis na caidrimh bhunachar sonraí coitianta go léir: go leor le duine, go leor le go leor, agus duine le duine.</p>\n</section>\n<section id=\"activating-models\">\n<h2>Samhlacha a ghníomhachtú<a class=\"heading-anchor\" href=\"#activating-models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tugann an cód múnla beag sin go leor faisnéise do Django. Leis, tá Django in ann:</p>\n<ul class=\"simple\">\n<li><p>Cruthaigh scéimre bunachar sonraí (ráitis <code class=\"docutils literal notranslate\">CREATE TABLE</code>) don aip seo.</p></li>\n<li><p>Cruthaigh API le rochtain ar bhunachar sonraí Python chun réada <code class=\"docutils literal notranslate\">Ceist</code> agus <code class=\"docutils literal notranslate\">Choice</code> a rochtain.</p></li>\n</ul>\n<p>Ach ar dtús ní mór dúinn a rá lenár dtionscadal go bhfuil an aip <code class=\"docutils literal notranslate\">vótaíochta</code> suiteáilte.</p>\n<aside class=\"admonition-philosophy admonition\" role=\"note\">\n<p class=\"admonition-title\">Fealsúnacht</p>\n<p>Tá aipeanna Django “in-phlugtha”: Is féidir leat aip a úsáid i dtionscadail iolracha, agus is féidir leat aipeanna a dháileadh, toisc nach gá iad a bheith ceangailte le suiteáil Django ar leith.</p>\n</aside>\n<p>Chun an aip a chur san áireamh inár dtionscadal, ní mór dúinn tagairt a dhéanamh dá rang cumraíochta sa socrú <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>. Tá an rang <code class=\"docutils literal notranslate\">PollsConfig</code> sa chomhad <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:comhad:`vótaíocht/apps.py`</span></a>, mar sin is é an cosán poncaithe atá aige ná <code class=\"docutils literal notranslate\">` pobalbhreith.apps.PollsConfig</code>. Cuir an comhad <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">:comhad:`mysite/settings.py`</span></a> in eagar agus cuir an cosán poncaithe sin leis an socrú ::INSTALLED_APPS. Beidh sé cuma mar seo:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">mysite/settings.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code>INSTALLED_APPS <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"s2\">&quot;polls.apps.PollsConfig&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.admin&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.auth&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.contenttypes&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.sessions&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.messages&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;django.contrib.staticfiles&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">]</span>\n</code></pre></figure>\n<p>Anois tá a fhios ag Django an aip toghcháin` a chur san áireamh. Rithfimid ordú eile:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py makemigrations polls\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py makemigrations polls\n</code></pre></div></div></div>\n<p>Ba cheart duit rud éigin cosúil leis an méid seo a leanas a fheiceáil:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>Migrations for &#39;polls&#39;:\n  polls/migrations/0001_initial.py\n    + Create model Question\n    + Create model Choice\n</code></pre></div>\n<p>Trí <code class=\"docutils literal notranslate\">makemigrations</code> a rith, tá tú ag insint do Django go bhfuil roinnt athruithe déanta agat ar do mhúnlaí (sa chás seo, tá cinn nua déanta agat) agus gur mhaith leat na hathruithe a stóráil mar * imirce <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">*</span></a>.</p>\n<p>Is éard atá i gceist le himircí ná mar a stórálann Django athruithe ar do mhúnlaí (agus dá bhrí sin do scéimre bunachar sonraí) - is comhaid ar diosca iad. Is féidir leat an t-aistriú do do mhúnla nua a léamh más maith leat; is é an comhad <code class=\"docutils literal notranslate\">polls/migrations/0001_initial.py</code>. Ná bíodh imní ort, ní bheifear ag súil go léifidh tú iad gach uair a dhéanann Django ceann, ach tá siad deartha le gur féidir iad a chur in eagar ag an duine ar eagla go dteastaíonn uait an chaoi a n-athraíonn Django rudaí a athrú de láimh.</p>\n<p>Tá ordú ann a reáchtálfaidh na himscrúduithe duit agus a bhainisteoidh scéimre do bhunachar sonraí go huathoibríoch - ar a dtugtar : djadmin: imirce, agus tiocfaimid chuige faoi láthair - ach ar dtús, feicfimid cad a rithfeadh SQL leis an imirce sin. Tógann an t-ordú : djadmin:sqlmigrate ainmneacha imirce agus cuireann sé a SQL ar ais:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py sqlmigrate polls <span class=\"m\">0001</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py sqlmigrate polls 0001\n</code></pre></div></div></div>\n<p>Ba cheart duit rud éigin cosúil leis an méid seo a leanas a fheiceáil (rinneamar é a athfhormáidiú le haghaidh inléiteachta):</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\">BEGIN</span><span class=\"p\">;</span>\n<span class=\"c1\">--</span>\n<span class=\"c1\">-- Create model Question</span>\n<span class=\"c1\">--</span>\n<span class=\"k\">CREATE</span> <span class=\"k\">TABLE</span> <span class=\"ss\">&quot;polls_question&quot;</span> <span class=\"p\">(</span>\n    <span class=\"ss\">&quot;id&quot;</span> <span class=\"nb\">bigint</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span> <span class=\"k\">PRIMARY</span> <span class=\"k\">KEY</span> <span class=\"k\">GENERATED</span> <span class=\"k\">BY</span> <span class=\"k\">DEFAULT</span> <span class=\"k\">AS</span> <span class=\"k\">IDENTITY</span><span class=\"p\">,</span>\n    <span class=\"ss\">&quot;question_text&quot;</span> <span class=\"nb\">varchar</span><span class=\"p\">(</span><span class=\"mi\">200</span><span class=\"p\">)</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span><span class=\"p\">,</span>\n    <span class=\"ss\">&quot;pub_date&quot;</span> <span class=\"k\">timestamp</span> <span class=\"k\">with</span> <span class=\"k\">time</span> <span class=\"k\">zone</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span>\n<span class=\"p\">);</span>\n<span class=\"c1\">--</span>\n<span class=\"c1\">-- Create model Choice</span>\n<span class=\"c1\">--</span>\n<span class=\"k\">CREATE</span> <span class=\"k\">TABLE</span> <span class=\"ss\">&quot;polls_choice&quot;</span> <span class=\"p\">(</span>\n    <span class=\"ss\">&quot;id&quot;</span> <span class=\"nb\">bigint</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span> <span class=\"k\">PRIMARY</span> <span class=\"k\">KEY</span> <span class=\"k\">GENERATED</span> <span class=\"k\">BY</span> <span class=\"k\">DEFAULT</span> <span class=\"k\">AS</span> <span class=\"k\">IDENTITY</span><span class=\"p\">,</span>\n    <span class=\"ss\">&quot;choice_text&quot;</span> <span class=\"nb\">varchar</span><span class=\"p\">(</span><span class=\"mi\">200</span><span class=\"p\">)</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span><span class=\"p\">,</span>\n    <span class=\"ss\">&quot;votes&quot;</span> <span class=\"nb\">integer</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span><span class=\"p\">,</span>\n    <span class=\"ss\">&quot;question_id&quot;</span> <span class=\"nb\">bigint</span> <span class=\"k\">NOT</span> <span class=\"k\">NULL</span>\n<span class=\"p\">);</span>\n<span class=\"k\">ALTER</span> <span class=\"k\">TABLE</span> <span class=\"ss\">&quot;polls_choice&quot;</span>\n  <span class=\"k\">ADD</span> <span class=\"k\">CONSTRAINT</span> <span class=\"ss\">&quot;polls_choice_question_id_c5b4b260_fk_polls_question_id&quot;</span>\n    <span class=\"k\">FOREIGN</span> <span class=\"k\">KEY</span> <span class=\"p\">(</span><span class=\"ss\">&quot;question_id&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">REFERENCES</span> <span class=\"ss\">&quot;polls_question&quot;</span> <span class=\"p\">(</span><span class=\"ss\">&quot;id&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">DEFERRABLE</span> <span class=\"k\">INITIALLY</span> <span class=\"k\">DEFERRED</span><span class=\"p\">;</span>\n<span class=\"k\">CREATE</span> <span class=\"k\">INDEX</span> <span class=\"ss\">&quot;polls_choice_question_id_c5b4b260&quot;</span> <span class=\"k\">ON</span> <span class=\"ss\">&quot;polls_choice&quot;</span> <span class=\"p\">(</span><span class=\"ss\">&quot;question_id&quot;</span><span class=\"p\">);</span>\n\n<span class=\"k\">COMMIT</span><span class=\"p\">;</span>\n</code></pre></div>\n<p>Tabhair faoi deara iad seo a leanas:</p>\n<ul class=\"simple\">\n<li><p>Athróidh an t-aschur cruinn ag brath ar an mbunachar sonraí atá in úsáid agat. Gintear an sampla thuas do PostgreSQL.</p></li>\n<li><p>Gintear ainmneacha táblaí go huathoibríoch trí ainm na haipe (`` pobalbhreith``) agus ainm litreacha beaga na samhla a chomhcheangal -- `` ceist`` agus `` rogha``. (Is féidir leat an iompar seo a shárú.)</p></li>\n<li><p>Cuirtear eochracha príomhúla (IDs) leis go huathoibríoch. (Is féidir leat é seo a shárú freisin.)</p></li>\n<li><p>De réir an ghnáis, cuireann Django `` &quot;_id&quot;`` i gceangal leis an ainm réimse eochrach eochrach. (Sea, is féidir leat é seo a shárú, chomh maith.)</p></li>\n<li><p>Léirítear an gaol eochrach eachtrach le srian <code class=\"docutils literal notranslate\">eochair Choigríche</code>. Ná bíodh imní ort faoi na codanna <code class=\"docutils literal notranslate\">DEFERRABLE</code>; tá sé ag rá le PostgreSQL gan an eochair choigríche a fhorghníomhú go dtí deireadh an idirbhirt.</p></li>\n<li><p>Tá sé in oiriúint don bhunachar sonraí atá in úsáid agat, mar sin cineálacha réimse a bhaineann go sonrach leis an mbunachar sonraí ar nós `` auto_increment`` (MySQL), <code class=\"docutils literal notranslate\">bigint PRIMARY EOCHAIR A GHINEÁLaítear GAN RÉAMHSHLÁN MAR FHÉINIÚLACHT</code> (PostgreSQL), nó `` uath-incrimint phríomhúil Láimhseáiltear `` (SQLite) duit go huathoibríoch. Baineann an rud céanna le hainmneacha páirce a lua -- m.sh., ag baint úsáide as Sleachta dúbailte nó Sleachta singil.</p></li>\n<li><p>Ní ritheann an t-ordú <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-sqlmigrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">sqlmigrate</code></a> an t-imirce ar do bhunachar sonraí - ina ionad sin, priontaí sé chuig an scáileán ionas gur féidir leat a fheiceáil cad a cheapann SQL Django atá ag teastáil. Tá sé úsáideach chun a sheiceáil cad atá le déanamh ag Django nó má tá riarthóirí bunachar sonraí agat a dteastaíonn scripteanna SQL le haghaidh athruithe.</p></li>\n</ul>\n<p>Má tá suim agat, is féidir leat <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-check\"><code class=\"xref std std-djadmin docutils literal notranslate\">seiceáil python manage.py</code></a> a rith freisin; seiceálann sé seo aon fhadhbanna i do thionscadal gan ascnaimh a dhéanamh nó teagmháil a dhéanamh leis an mbunachar sonraí.</p>\n<p>Anois, rith <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a> arís chun na táblaí samhail sin a chruthú i do bhunachar sonraí:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-3-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py migrate\n<span class=\"go\">Operations to perform:</span>\n<span class=\"go\">  Apply all migrations: admin, auth, contenttypes, polls, sessions</span>\n<span class=\"go\">Running migrations:</span>\n<span class=\"go\">  Rendering model states... DONE</span>\n<span class=\"go\">  Applying polls.0001_initial... OK</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-3-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py migrate\n<span class=\"go\">Operations to perform:</span>\n<span class=\"go\">  Apply all migrations: admin, auth, contenttypes, polls, sessions</span>\n<span class=\"go\">Running migrations:</span>\n<span class=\"go\">  Rendering model states... DONE</span>\n<span class=\"go\">  Applying polls.0001_initial... OK</span>\n</code></pre></div></div></div>\n<p>Tógann an t-ordú <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a> gach ascnamh nár cuireadh i bhfeidhm (rianann Django cé na cinn a chuirtear i bhfeidhm le tábla speisialta i do bhunachar sonraí darb ainm <code class=\"docutils literal notranslate\">django_migrations</code>) agus ritheann sé i gcoinne do bhunachar sonraí - go bunúsach, sioncrónú an athruithe a rinne tú ar do mhúnlaí leis an scéimre sa bhunachar sonraí.</p>\n<p>Tá imircigh an-chumhachtach agus ligeann siad duit do mhúnlaí a athrú le himeacht ama, de réir mar a fhorbraíonn tú do thionscadal, gan gá do bhunachar sonraí nó do tháblaí a scriosadh agus cinn nua a dhéanamh - speisialtóireacht sé do bhunachar sonraí a uasghrádú beo, gan sonraí a chailliúint. Déanfaimid iad a chlúdach níos doimhne i gcuid níos déanaí den rang teagaisc, ach faoi láthair, cuimhnigh ar an treoir trí chéim chun athruithe múnla a dhéanamh:</p>\n<ul class=\"simple\">\n<li><p>Athraigh do mhúnlaí (i <code class=\"docutils literal notranslate\">models.py</code>).</p></li>\n<li><p>Rith <code class=\"xref std std-djadmin docutils literal notranslate\">python manage.py makemigrations</code> chun ascnaimh a chruthú do na hathruithe sin</p></li>\n<li><p>Rith <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">python manage.py migrate</code></a> chun na hathruithe sin a chur i bhfeidhm ar an mbunachar sonraí.</p></li>\n</ul>\n<p>Is é an fáth go bhfuil orduithe ar leith ann chun ascnaimh a dhéanamh agus a chur i bhfeidhm ná go ndéanfaidh tú ascnaimh chuig do chóras rialaithe leagan agus seolfaidh tú le d'aip iad; ní hamháin go ndéanann siad d'fhorbairt níos éasca, is féidir le forbróirí eile iad a úsáid agus i dtáirgeadh.</p>\n<p>Léigh an <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/\"><span class=\"doc\">doiciméadúchán django-admin</span></a> chun faisnéis iomlán a fháil faoin méid is féidir leis an bhfóntas <code class=\"docutils literal notranslate\">manage.py</code> a dhéanamh.</p>\n</section>\n<section id=\"playing-with-the-api\">\n<h2>Ag imirt leis an API<a class=\"heading-anchor\" href=\"#playing-with-the-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anois, léim isteach sa bhlaosc Python idirghníomhach agus imirt timpeall leis an API saor in aisce a thugann Django duit. Chun an bhlaosc Python a agairt, bain úsáid as an ordú seo:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-4-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py shell\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-4-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py shell\n</code></pre></div></div></div>\n<p>We're using this instead of simply typing &quot;python&quot;, because <code class=\"file docutils literal notranslate\">manage.py</code>\nsets the <span class=\"target\" id=\"index-0\"></span><a class=\"reference internal\" href=\"/ga/5.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\">DJANGO_SETTINGS_MODULE</code></a> environment variable, which gives\nDjango the Python import path to your <code class=\"file docutils literal notranslate\">mysite/settings.py</code> file.\nBy default, the <a class=\"reference internal\" href=\"/ga/5.2/ref/django-admin/#django-admin-shell\"><code class=\"xref std std-djadmin docutils literal notranslate\">shell</code></a> command automatically imports the models from\nyour <a class=\"reference internal\" href=\"/ga/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>.</p>\n<p>Nuair a bheidh tú sa bhlaosc, scrúdaigh an <a class=\"reference internal\" href=\"/ga/5.2/topics/db/queries/\"><span class=\"doc\">database API</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=\"go\"># No questions are in the system yet.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n\n<span class=\"go\"># Create a new Question.</span>\n<span class=\"go\"># Support for time zones is enabled in the default settings file, so</span>\n<span class=\"go\"># Django expects a datetime with tzinfo for pub_date. Use timezone.now()</span>\n<span class=\"go\"># instead of datetime.datetime.now() and it will do the right thing.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.utils</span> <span class=\"kn\">import</span> timezone\n<span class=\"gp\">&gt;&gt;&gt; </span>q <span class=\"o\">=</span> Question<span class=\"p\">(</span>question_text<span class=\"o\">=</span><span class=\"s2\">&quot;What&#39;s new?&quot;</span><span class=\"p\">,</span> pub_date<span class=\"o\">=</span>timezone<span class=\"o\">.</span>now<span class=\"p\">())</span>\n\n<span class=\"go\"># Save the object into the database. You have to call save() explicitly.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>save<span class=\"p\">()</span>\n\n<span class=\"go\"># Now it has an ID.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>id\n<span class=\"go\">1</span>\n\n<span class=\"go\"># Access model field values via Python attributes.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>question_text\n<span class=\"go\">&quot;What&#39;s new?&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>pub_date\n<span class=\"go\">datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=datetime.timezone.utc)</span>\n\n<span class=\"go\"># Change values by changing the attributes, then calling save().</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>question_text <span class=\"o\">=</span> <span class=\"s2\">&quot;What&#39;s up?&quot;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>save<span class=\"p\">()</span>\n\n<span class=\"go\"># objects.all() displays all the questions in the database.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Question: Question object (1)&gt;]&gt;</span>\n</code></pre></div>\n<p>Fan nóiméad. <code class=\"docutils literal notranslate\">&lt;Ceist: Ceist oibiachta (1)&gt; Ní léiriú cabhrach é `` ar an oibiacht seo. Déanaimis é sin a shocrú tríd an múnla ``Ceist</code> a chur in eagar (sa chomhad <code class=\"docutils literal notranslate\">vótaíocht/models.py</code>) agus modh <a class=\"reference internal\" href=\"/ga/5.2/ref/models/instances/#django.db.models.Model.__str__\" title=\"django.db.models.Model.__str__\"><code class=\"xref py py-meth docutils literal notranslate\">__str__()</code></a> a chur leis an dá <code class=\"docutils literal notranslate\">Ceist `` agus ``Rogha</code>:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">polls/models.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 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\">Question</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\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=\"bp\">self</span><span class=\"o\">.</span>question_text\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Choice</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\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=\"bp\">self</span><span class=\"o\">.</span>choice_text\n</code></pre></figure>\n<p>Tá sé tábhachtach modhanna <a class=\"reference internal\" href=\"/ga/5.2/ref/models/instances/#django.db.models.Model.__str__\" title=\"django.db.models.Model.__str__\"><code class=\"xref py py-meth docutils literal notranslate\">__str__()</code></a> a chur le do mhúnlaí, ní hamháin ar mhaithe le do chaoithiúlacht féin agus tú ag déileáil leis an leid idirghníomhach, ach freisin toisc go n-úsáidtear léiriúcháin oibiachtaí ar fud Django a ghintear go huathoibríoch riar.</p>\n<p id=\"tutorial02-import-timezone\">Cuirfimid modh saincheaptha leis an múnla seo freisin:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">polls/models.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"kn\">import</span> <span class=\"nn\">datetime</span>\n\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">django.utils</span> <span class=\"kn\">import</span> timezone\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Question</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    <span class=\"c1\"># ...</span>\n    <span class=\"k\">def</span> <span class=\"nf\">was_published_recently</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>pub_date <span class=\"o\">&gt;=</span> timezone<span class=\"o\">.</span>now<span class=\"p\">()</span> <span class=\"o\">-</span> datetime<span class=\"o\">.</span>timedelta<span class=\"p\">(</span>days<span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>Tabhair faoi deara gur cuireadh `` am allmhairiú dáta`` agus `` ó chrios ama iompórtála django.utils`` leis, chun tagairt a dhéanamh do mhodúl caighdeánach Python :mod:` datetime` agus fóntais a bhaineann le crios ama Django i :mod:` django.utils. crios ama`, faoi seach. Mura bhfuil tú eolach ar láimhseáil crios ama i Python, is féidir leat níos mó a fhoghlaim sa <a class=\"reference internal\" href=\"/ga/5.2/topics/i18n/timezones/\"><span class=\"doc\">doiciméid tacaíochta crios ama</span></a>.</p>\n<p>Save these changes and start a new Python interactive shell. (If a\nthree-chevron prompt (&gt;&gt;&gt;) indicates you are still in the shell, you need to\nexit first using <code class=\"docutils literal notranslate\">exit()</code>). Run <code class=\"docutils literal notranslate\">python manage.py shell</code> again to reload\nthe models.</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\"># Make sure our __str__() addition worked.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;Question: What&#39;s up?&gt;]&gt;</span>\n\n<span class=\"go\"># Django provides a rich database lookup API that&#39;s entirely driven by</span>\n<span class=\"go\"># keyword arguments.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<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\">1</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Question: What&#39;s up?&gt;]&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>question_text__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;What&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;Question: What&#39;s up?&gt;]&gt;</span>\n\n<span class=\"go\"># Get the question that was published this year.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.utils</span> <span class=\"kn\">import</span> timezone\n<span class=\"gp\">&gt;&gt;&gt; </span>current_year <span class=\"o\">=</span> timezone<span class=\"o\">.</span>now<span class=\"p\">()</span><span class=\"o\">.</span>year\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>pub_date__year<span class=\"o\">=</span>current_year<span class=\"p\">)</span>\n<span class=\"go\">&lt;Question: What&#39;s up?&gt;</span>\n\n<span class=\"go\"># Request an ID that doesn&#39;t exist, this will raise an exception.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<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\">2</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n    <span class=\"o\">...</span>\n<span class=\"gr\">DoesNotExist</span>: Question matching query does not exist.\n\n<span class=\"x\"># Lookup by a primary key is the most common case, so Django provides a</span>\n<span class=\"x\"># shortcut for primary-key exact lookups.</span>\n<span class=\"x\"># The following is identical to Question.objects.get(id=1).</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Question<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<span class=\"go\">&lt;Question: What&#39;s up?&gt;</span>\n\n<span class=\"go\"># Make sure our custom method worked.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q <span class=\"o\">=</span> Question<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<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>was_published_recently<span class=\"p\">()</span>\n<span class=\"go\">True</span>\n\n<span class=\"go\"># Give the Question a couple of Choices. The create call constructs a new</span>\n<span class=\"go\"># Choice object, does the INSERT statement, adds the choice to the set</span>\n<span class=\"go\"># of available choices and returns the new Choice object. Django creates</span>\n<span class=\"go\"># a set (defined as &quot;choice_set&quot;) to hold the &quot;other side&quot; of a ForeignKey</span>\n<span class=\"go\"># relation (e.g. a question&#39;s choice) which can be accessed via the API.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q <span class=\"o\">=</span> Question<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\"># Display any choices from the related object set -- none so far.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>choice_set<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet []&gt;</span>\n\n<span class=\"go\"># Create three choices.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>choice_set<span class=\"o\">.</span>create<span class=\"p\">(</span>choice_text<span class=\"o\">=</span><span class=\"s2\">&quot;Not much&quot;</span><span class=\"p\">,</span> votes<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Choice: Not much&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>choice_set<span class=\"o\">.</span>create<span class=\"p\">(</span>choice_text<span class=\"o\">=</span><span class=\"s2\">&quot;The sky&quot;</span><span class=\"p\">,</span> votes<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;Choice: The sky&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>c <span class=\"o\">=</span> q<span class=\"o\">.</span>choice_set<span class=\"o\">.</span>create<span class=\"p\">(</span>choice_text<span class=\"o\">=</span><span class=\"s2\">&quot;Just hacking again&quot;</span><span class=\"p\">,</span> votes<span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n\n<span class=\"go\"># Choice objects have API access to their related Question objects.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>c<span class=\"o\">.</span>question\n<span class=\"go\">&lt;Question: What&#39;s up?&gt;</span>\n\n<span class=\"go\"># And vice versa: Question objects get access to Choice objects.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>q<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=\"gp\">&gt;&gt;&gt; </span>q<span class=\"o\">.</span>choice_set<span class=\"o\">.</span>count<span class=\"p\">()</span>\n<span class=\"go\">3</span>\n\n<span class=\"go\"># The API automatically follows relationships as far as you need.</span>\n<span class=\"go\"># Use double underscores to separate relationships.</span>\n<span class=\"go\"># This works as many levels deep as you want; there&#39;s no limit.</span>\n<span class=\"go\"># Find all Choices for any question whose pub_date is in this year</span>\n<span class=\"go\"># (reusing the &#39;current_year&#39; variable we created above).</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>Choice<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>question__pub_date__year<span class=\"o\">=</span>current_year<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\n<span class=\"go\"># Let&#39;s delete one of the choices. Use delete() for that.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>c <span class=\"o\">=</span> q<span class=\"o\">.</span>choice_set<span class=\"o\">.</span>filter<span class=\"p\">(</span>choice_text__startswith<span class=\"o\">=</span><span class=\"s2\">&quot;Just hacking&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>c<span class=\"o\">.</span>delete<span class=\"p\">()</span>\n</code></pre></div>\n<p>Chun tuilleadh eolais a fháil ar chaidreamh samhlacha, féach <a class=\"reference internal\" href=\"/ga/5.2/ref/models/relations/\"><span class=\"doc\">Rochtain ar réada gaolmhara</span></a>. Chun tuilleadh eolais a fháil ar conas béim dhúbailte a úsáid chun cuardaigh allamuigh a dhéanamh tríd an API, féach <a class=\"reference internal\" href=\"/ga/5.2/topics/db/queries/#field-lookups-intro\"><span class=\"std std-ref\">Field lookups</span></a>. Le haghaidh sonraí iomlána ar API an bhunachair shonraí, féach ar ár <a class=\"reference internal\" href=\"/ga/5.2/topics/db/queries/\"><span class=\"doc\">Tagairt API Bunachar Sonraí</span></a>.</p>\n</section>\n<section id=\"introducing-the-django-admin\">\n<h2>Riarachán Django a thabhairt isteach<a class=\"heading-anchor\" href=\"#introducing-the-django-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<aside class=\"admonition-philosophy admonition\" role=\"note\">\n<p class=\"admonition-title\">Fealsúnacht</p>\n<p>Is obair dhian é suíomhanna riaracháin a ghiniúint chun go bhféadfaidh d’fhoireann nó do chliaint ábhar a chur leis, a athrú agus a scriosadh nach dteastaíonn mórán cruthaitheachta. Ar an ábhar sin, déanann Django uathoibriú go hiomlán ar chruthú comhéadain riaracháin le haghaidh samhlacha.</p>\n<p>Scríobhadh Django i dtimpeallacht seomra nuachta, le deighilt an-soiléir idir &quot;foilsitheoirí ábhar&quot; agus an suíomh &quot;poiblí&quot;. Úsáideann bainisteoirí láithreáin an córas chun scéalta nuachta, imeachtaí, scóir spóirt, etc., a chur leis, agus taispeántar an t-ábhar sin ar an suíomh poiblí. Réitíonn Django an fhadhb a bhaineann le comhéadan aontaithe a chruthú do riarthóirí láithreáin chun ábhar a chur in eagar.</p>\n<p>Níl an riarthóir ceaptha le húsáid ag cuairteoirí suímh. Is do bhainisteoirí láithreán é.</p>\n</aside>\n<section id=\"creating-an-admin-user\">\n<h3>Úsáideoir admin a chruthú<a class=\"heading-anchor\" href=\"#creating-an-admin-user\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ar dtús beidh orainn úsáideoir a chruthú a bheidh in ann logáil isteach ar an suíomh riaracháin. Rith an t-ordú seo a leanas:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-5-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py createsuperuser\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-5-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py createsuperuser\n</code></pre></div></div></div>\n<p>Cuir isteach an t-ainm úsáideora atá uait agus brúigh Enter.</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>Username: admin\n</code></pre></div>\n<p>Tabharfar leid duit ansin do sheoladh ríomhphoist atá uait:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>Email address: admin@example.com\n</code></pre></div>\n<p>Is é an chéim dheireanach ná do phasfhocal a chur isteach. Iarrfar ort do phasfhocal a chur isteach faoi dhó, an dara huair mar dheimhniú ar an gcéad cheann.</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>Password: **********\nPassword (again): *********\nSuperuser created successfully.\n</code></pre></div>\n</section>\n<section id=\"start-the-development-server\">\n<h3>Tosaigh an freastalaí forbartha<a class=\"heading-anchor\" href=\"#start-the-development-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Tá suíomh riaracháin Django gníomhachtaithe de réir réamhshocraithe. A ligean ar tús a chur leis an bhfreastalaí forbartha agus é a iniúchadh.</p>\n<p>Mura bhfuil an freastalaí ag rith cuir tús leis mar seo:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-6-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py runserver\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-6-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py runserver\n</code></pre></div></div></div>\n<p>Anois, oscail brabhsálaí gréasáin agus téigh go dtí &quot;/admin/&quot; ar d'fhearann ​​​​áitiúil -- m.sh., <a class=\"reference external\" href=\"http://127.0.0.1:8000/admin/\">http://127.0.0.1:8000/admin/</a>. Ba cheart duit scáileán logáil isteach an riarthóir a fheiceáil:</p>\n<img alt=\"Django scáileán logáil isteach admin\" src=\"/ga/5.2/_images/admin01.png\" />\n<p>Ós rud é go gcuirtear <a class=\"reference internal\" href=\"/ga/5.2/topics/i18n/translation/\"><span class=\"doc\">translation</span></a> ar siúl de réir réamhshocraithe, má shocraíonn tú :LANGUAGE_CODE, taispeánfar an scáileán logála isteach sa teanga a thugtar (má tá aistriúcháin chuí ag Django).</p>\n</section>\n<section id=\"enter-the-admin-site\">\n<h3>Cuir isteach an suíomh admin<a class=\"heading-anchor\" href=\"#enter-the-admin-site\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Anois, bain triail as logáil isteach leis an gcuntas sár-úsáideoir a chruthaigh tú sa chéim roimhe seo. Ba cheart duit an leathanach innéacs riaracháin Django a fheiceáil:</p>\n<img alt=\"Leathanach innéacs admin Django\" src=\"/ga/5.2/_images/admin02.png\" />\n<p>Ba cheart go bhfeicfeá roinnt cineálacha ábhar in eagar: grúpaí agus úsáideoirí. Soláthraítear iad ag <a class=\"reference internal\" href=\"/ga/5.2/topics/auth/#module-django.contrib.auth\" title=\"django.contrib.auth: Django's authentication framework.\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.auth</code></a>, an creat fíordheimhnithe seolta ag Django.</p>\n</section>\n<section id=\"make-the-poll-app-modifiable-in-the-admin\">\n<h3>Déan an aip vótaíochta inathraithe sa riarthóir<a class=\"heading-anchor\" href=\"#make-the-poll-app-modifiable-in-the-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ach cá bhfuil ár n-aip vótaíochta? Níl sé ar taispeáint ar an leathanach innéacs admin.</p>\n<p>Níl ach rud amháin eile le déanamh: ní mór dúinn a rá leis an riarthóir go bhfuil comhéadan riaracháin ag réada <code class=\"docutils literal notranslate\">Ceist</code>. Chun seo a dhéanamh, oscail an comhad ::polls/admin.py, agus cuir in eagar é chun breathnú mar seo:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">polls/admin.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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 code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.contrib</span> <span class=\"kn\">import</span> admin\n\n<span class=\"kn\">from</span> <span class=\"nn\">.models</span> <span class=\"kn\">import</span> Question\n\nadmin<span class=\"o\">.</span>site<span class=\"o\">.</span>register<span class=\"p\">(</span>Question<span class=\"p\">)</span>\n</code></pre></figure>\n</section>\n<section id=\"explore-the-free-admin-functionality\">\n<h3>Déan iniúchadh ar fheidhmiúlacht admin saor in aisce<a class=\"heading-anchor\" href=\"#explore-the-free-admin-functionality\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Anois agus <code class=\"docutils literal notranslate\">Ceist</code> cláraithe againn, tá a fhios ag Django gur cheart é a thaispeáint ar an leathanach innéacs riaracháin:</p>\n<img alt=\"Leathanach innéacs admin Django, anois le pobalbhreith ar taispeáint\" src=\"/ga/5.2/_images/admin03t.png\" />\n<p>Cliceáil &quot;Ceisteanna&quot;. Anois tá tú ag an leathanach &quot;liosta athraithe&quot; le haghaidh ceisteanna. Taispeánann an leathanach seo na ceisteanna go léir sa bhunachar sonraí agus ligeann sé duit ceann a roghnú chun é a athrú. Tá an &quot;Cad atá ar bun?&quot; ceist a chruthaigh muid níos luaithe:</p>\n<img alt=\"Athraítear leathanach liosta na vótaíochtaí\" src=\"/ga/5.2/_images/admin04t.png\" />\n<p>Cliceáil ar an gcnaipe &quot;Cad atá ar bun?&quot; ceist chun é a chur in eagar:</p>\n<img alt=\"Foirm eagarthóireachta don ábhar ceiste\" src=\"/ga/5.2/_images/admin05t.png\" />\n<p>Rudaí le tabhairt faoi deara anseo:</p>\n<ul class=\"simple\">\n<li><p>Gintear an fhoirm go huathoibríoch ón múnla <code class=\"docutils literal notranslate\">Ceist</code>.</p></li>\n<li><p>Freagraíonn na cineálacha éagsúla réimse samhlacha (<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:rang:`~django.db.models.DateTimeField`</span></a>, <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">:rang:`~django.db.models.CharField`</span></a>) don ghiuirléid ionchur HTML cuí. Tá a fhios ag gach cineál réimse conas é féin a thaispeáint sa riarthóir Django.</p></li>\n<li><p>Faigheann gach <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">:rang:`~django.db.models.DateTimeField`</span></a> aicearraí JavaScript saor in aisce. Faigheann dátaí aicearra &quot;Inniu&quot; agus aníos aníos féilire, agus faigheann uaireanta aicearra &quot;Anois&quot; agus mír aníos áisiúil a liostaíonn na hamanna a chuirtear isteach go coitianta.</p></li>\n</ul>\n<p>Tugann an chuid íochtair den leathanach cúpla rogha duit:</p>\n<ul class=\"simple\">\n<li><p>Sábháil -- Sábháil athruithe agus filleann sé ar an leathanach liosta athruithe don chineál seo oibiachta.</p></li>\n<li><p>Sábháil agus lean ar aghaidh leis an eagarthóireacht -- Sábháil na hathruithe agus athlódálann sé an leathanach riaracháin don réad seo.</p></li>\n<li><p>Sábháil agus cuir ceann eile leis -- Sábháil athruithe agus lódálann sé foirm bhán nua don chineál seo réad.</p></li>\n<li><p>Scrios -- Taispeánann sé leathanach deimhnithe scriosta.</p></li>\n</ul>\n<p>Mura dtagann luach &quot;Dáta foilsithe&quot; leis an am ar chruthaigh tú an cheist i <a class=\"reference internal\" href=\"/ga/5.2/intro/tutorial01/\"><span class=\"doc\">Teagasc 1</span></a>, is dócha go gciallaíonn sé go ndearna tú dearmad ar an luach ceart a shocrú don :setting:` socrú TIME_ZONE`. Athraigh é, athlódáil an leathanach agus seiceáil go bhfuil an luach ceart le feiceáil.</p>\n<p>Athraigh an &quot;Dáta foilsithe&quot; trí chliceáil ar na aicearraí &quot;Inniu&quot; agus &quot;Anois&quot;. Ansin cliceáil &quot;Sábháil agus leanúint ar aghaidh leis an eagarthóireacht.&quot; Ansin cliceáil &quot;Stair&quot; ar dheis uachtarach. Feicfidh tú leathanach ina liostaítear na hathruithe go léir a rinneadh ar an réad seo tríd an riarthóir Django, le stampa ama agus ainm úsáideora an duine a rinne an t-athrú:</p>\n<img alt=\"Leathanach staire don ábhar ceiste\" src=\"/ga/5.2/_images/admin06t.png\" />\n<p>Nuair atá tú ar do chompord le API na múnlaí agus nuair a bheidh an suíomh riaracháin curtha ar an eolas agat, léigh <a class=\"reference internal\" href=\"/ga/5.2/intro/tutorial03/\"><span class=\"doc\">cuid 3 den rang teagaisc seo</span></a> chun tuilleadh eolais a fháil faoi conas tuilleadh tuairimí a chur lenár bhfeidhmchlár pobalbhreithe.</p>\n</section>\n</section>","rootId":"writing-your-first-django-app-part-2","toc":[{"title":"Socrú bunachar sonraí","anchor":"database-setup","children":[]},{"title":"Samhlacha a chruthú","anchor":"creating-models","children":[]},{"title":"Samhlacha a ghníomhachtú","anchor":"activating-models","children":[]},{"title":"Ag imirt leis an API","anchor":"playing-with-the-api","children":[]},{"title":"Riarachán Django a thabhairt isteach","anchor":"introducing-the-django-admin","children":[{"title":"Úsáideoir admin a chruthú","anchor":"creating-an-admin-user","children":[]},{"title":"Tosaigh an freastalaí forbartha","anchor":"start-the-development-server","children":[]},{"title":"Cuir isteach an suíomh admin","anchor":"enter-the-admin-site","children":[]},{"title":"Déan an aip vótaíochta inathraithe sa riarthóir","anchor":"make-the-poll-app-modifiable-in-the-admin","children":[]},{"title":"Déan iniúchadh ar fheidhmiúlacht admin saor in aisce","anchor":"explore-the-free-admin-functionality","children":[]}]}],"breadcrumbs":[{"docname":"intro/index","title":"Ag tosnú","url":"/ga/5.2/intro/"}],"prev":{"docname":"intro/tutorial01","title":"Scríobh do chéad aip Django, cuid 1","url":"/ga/5.2/intro/tutorial01/"},"next":{"docname":"intro/tutorial03","title":"Do chéad aip Django a scríobh, cuid 3","url":"/ga/5.2/intro/tutorial03/"},"formats":{"html":"/ga/5.2/intro/tutorial02/","markdown":"/ga/5.2/intro/tutorial02.md","json":"/ga/5.2/intro/tutorial02.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/intro/tutorial02.txt","official":"https://docs.djangoproject.com/ga/5.2/intro/tutorial02/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}