{"title":"Często zadawane pytania: Bazy danych i modele","version":"1.10","locale":"pl","docname":"faq/models","url":"/pl/1.10/faq/models/","canonical":"https://djangodocs.dev/pl/1.10/faq/models/","summary":"Upewnij się, że Twoje ustawienie Django DEBUG jest ustawione na True.","html":"<h1>Często zadawane pytania: Bazy danych i modele<a class=\"heading-anchor\" href=\"#faq-databases-and-models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"how-can-i-see-the-raw-sql-queries-django-is-running\">\n<span id=\"faq-see-raw-sql-queries\"></span><h2>Jak mogę zobaczyć surowe zapytania SQL uruchamiane przez Django?<a class=\"heading-anchor\" href=\"#how-can-i-see-the-raw-sql-queries-django-is-running\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Upewnij się, że Twoje ustawienie Django <a class=\"reference internal\" href=\"/pl/1.10/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> jest ustawione na <code class=\"docutils literal notranslate\">True</code>. Następnie zrób to:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> connection\n<span class=\"gp\">&gt;&gt;&gt; </span>connection<span class=\"o\">.</span>queries\n<span class=\"go\">[{&#39;sql&#39;: &#39;SELECT polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls&#39;,</span>\n<span class=\"go\">&#39;time&#39;: &#39;0.002&#39;}]</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">connection.queries</code> jest dostępne tylko jeśli <a class=\"reference internal\" href=\"/pl/1.10/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\">DEBUG</code></a> jest ustawione na <code class=\"docutils literal notranslate\">True</code>. Jest to lista słowników w kolejności wykonania zapytania. Każdy słownik zawiera:</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>``sql`` -- The raw SQL statement\n``time`` -- How long the statement took to execute, in seconds.\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">connections.queries</code> zawiera wszystkie operacje SQL – INSERT-y, UPDATE-y, SELECT-y itp. Każde zapytanie twojej aplikacji do bazy danych zostanie zapisane.</p>\n<p>Jeśli używasz <a class=\"reference internal\" href=\"/pl/1.10/topics/db/multi-db/\"><span class=\"doc\">wielu baz danych</span></a>, możesz użyć tego samego interfejsu na każdym elemencie słownika <code class=\"docutils literal notranslate\">connections</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> connections\n<span class=\"gp\">&gt;&gt;&gt; </span>connections<span class=\"p\">[</span><span class=\"s1\">&#39;my_db_alias&#39;</span><span class=\"p\">]</span><span class=\"o\">.</span>queries\n</code></pre></div>\n<p>Jeśli potrzebujesz wyczyścić ręcznie listę kwerend w dowolnym momencie w swoich funkcjach, po prostu wywołaj <code class=\"docutils literal notranslate\">reset_queries()</code>, w ten sposób:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> reset_queries\nreset_queries<span class=\"p\">()</span>\n</code></pre></div>\n</section>\n<section id=\"can-i-use-django-with-a-pre-existing-database\">\n<h2>Czy mogę użyć Django z istniejącą bazą danych?<a class=\"heading-anchor\" href=\"#can-i-use-django-with-a-pre-existing-database\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Tak. Zobacz <a class=\"reference internal\" href=\"/pl/1.10/howto/legacy-databases/\"><span class=\"doc\">Integracja ze starszą bazą danych</span></a>.</p>\n</section>\n<section id=\"if-i-make-changes-to-a-model-how-do-i-update-the-database\">\n<h2>Jeśli dokonam zmian w modelu, jak mogę zaktualizować bazę danych?<a class=\"heading-anchor\" href=\"#if-i-make-changes-to-a-model-how-do-i-update-the-database\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Zajrzyj do pomocy Django na temat <a class=\"reference internal\" href=\"/pl/1.10/topics/migrations/#module-django.db.migrations\" title=\"django.db.migrations: Schema migration support for Django models\"><code class=\"xref py py-mod docutils literal notranslate\">migracji schematu</code></a>.</p>\n<p>Jeśli chcesz wyczyścić dane, narzędzie <code class=\"docutils literal notranslate\">manage.py</code> twojego projektu ma opcję <a class=\"reference internal\" href=\"/pl/1.10/ref/django-admin/#django-admin-flush\"><code class=\"xref std std-djadmin docutils literal notranslate\">flush</code></a>, służącą do resetowania bazy danych do stanu, w którym była bezpośrednio po wykonaniu <a class=\"reference internal\" href=\"/pl/1.10/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\">migrate</code></a>.</p>\n</section>\n<section id=\"do-django-models-support-multiple-column-primary-keys\">\n<h2>Czy modele Django wspierają wielokolumnowe klucze główne?<a class=\"heading-anchor\" href=\"#do-django-models-support-multiple-column-primary-keys\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nie. Obsługiwane są jedynie jednokolumnowe klucze główne.</p>\n<p>Ale w praktyce nie jest to problemem, ponieważ możesz dodać inne constrainty (używając opcji modelu <code class=\"docutils literal notranslate\">unique_together</code> lub tworząc constraint bezpośrednio w bazie danych) i wymusić unikalność na tym poziomie. Jednokolumnowe klucze obce są potrzebne do funkcjonowania rzeczy takich jak interfejs admina; na przykład potrzebujesz w prosty sposób móc wskazać obiekt do edycji lub usunięcia.</p>\n</section>\n<section id=\"does-django-support-nosql-databases\">\n<h2>Czy Django obsługuje bazy danych NoSQL?<a class=\"heading-anchor\" href=\"#does-django-support-nosql-databases\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>NoSQL-owe bazy danych nie są oficjalnie wspierane przez Django jako takie. Jednakże jest kilka projektów pobocznych oraz forków, które wprowadzają funkcjonalność NoSQL w Djanog, jak na przykład <a class=\"reference external\" href=\"http://django-nonrel.org/\">Django non-rel</a>.</p>\n<p>Możesz też spojrzeć na <a class=\"reference external\" href=\"https://code.djangoproject.com/wiki/NoSqlSupport\">stronę wiki</a>, która omawia niektóre alternatywy.</p>\n</section>\n<section id=\"how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type\">\n<h2>Jak mogę dodać do wyrażenia CREATE TABLE specyficzne opcje dla bazy danych takie jak np. wskazanie typu tabeli jako MyISAM?<a class=\"heading-anchor\" href=\"#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Staramy się nie dodawać do Django obsługi specyficznych dla danej bazy danych opcji, np. typu tabeli itp. Jeśli chcesz użyć takich parametrów, stwórz migrację przy użyciu klasy <a class=\"reference internal\" href=\"/pl/1.10/ref/migration-operations/#django.db.migrations.operations.RunSQL\" title=\"django.db.migrations.operations.RunSQL\"><code class=\"xref py py-class docutils literal notranslate\">RunSQL</code></a> zawierającej polecenie <code class=\"docutils literal notranslate\">ALTER TABLE</code>, które możesz dowolnie skonfigurować.</p>\n<p>Na przykład, jeśli korzystasz z MySQL-a i chcesz skorzystać z tabel typu MyISAM, użyj następującego zapytania SQL:</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>ALTER TABLE myapp_mytable ENGINE<span class=\"o\">=</span>MyISAM<span class=\"p\">;</span>\n</code></pre></div>\n</section>","rootId":"faq-databases-and-models","toc":[{"title":"Jak mogę zobaczyć surowe zapytania SQL uruchamiane przez Django?","anchor":"how-can-i-see-the-raw-sql-queries-django-is-running","children":[]},{"title":"Czy mogę użyć Django z istniejącą bazą danych?","anchor":"can-i-use-django-with-a-pre-existing-database","children":[]},{"title":"Jeśli dokonam zmian w modelu, jak mogę zaktualizować bazę danych?","anchor":"if-i-make-changes-to-a-model-how-do-i-update-the-database","children":[]},{"title":"Czy modele Django wspierają wielokolumnowe klucze główne?","anchor":"do-django-models-support-multiple-column-primary-keys","children":[]},{"title":"Czy Django obsługuje bazy danych NoSQL?","anchor":"does-django-support-nosql-databases","children":[]},{"title":"Jak mogę dodać do wyrażenia CREATE TABLE specyficzne opcje dla bazy danych takie jak np. wskazanie typu tabeli jako MyISAM?","anchor":"how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"Często zadawane pytania odnośnie Django","url":"/pl/1.10/faq/"}],"prev":{"docname":"faq/help","title":"Często zadawane pytania: Czerpanie pomocy","url":"/pl/1.10/faq/help/"},"next":{"docname":"faq/admin","title":"Często zadawane pytania: Panel administracyjny","url":"/pl/1.10/faq/admin/"},"formats":{"html":"/pl/1.10/faq/models/","markdown":"/pl/1.10/faq/models.md","json":"/pl/1.10/faq/models.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/faq/models.txt","official":"https://docs.djangoproject.com/pl/1.10/faq/models/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10"],"inLocales":["en","fr","ja","id","pt-br","es","el","pl"]}