{"id":1288,"date":"2017-08-20T02:51:05","date_gmt":"2017-08-19T18:51:05","guid":{"rendered":"http:\/\/www.yueguangzu.net\/?p=1288"},"modified":"2017-09-09T12:41:03","modified_gmt":"2017-09-09T04:41:03","slug":"%e6%95%b0%e6%8d%ae%e5%ba%93models","status":"publish","type":"post","link":"http:\/\/www.yueguangzu.net\/?p=1288","title":{"rendered":"[Django\u7cfb\u5217]5.\u6570\u636e\u5e93models"},"content":{"rendered":"<h3 class=\"md-end-block md-heading md-focus\"><span class=\"md-expand\">ORM (\u5bf9\u8c61\u5173\u7cfb\u6620\u5c04-Object Relational Mapping)<\/span><\/h3>\n<h5 class=\"md-end-block md-heading\">\u53ef\u4ee5\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\u8bed\u8a00\u91cc\u4e0d\u540c\u7c7b\u578b\u7cfb\u7edf\u7684\u6570\u636e\u4e4b\u95f4\u7684\u8f6c\u6362.<\/h5>\n<h5 class=\"md-end-block md-heading\">\u6a21\u578bmodel\u4e0e\u6570\u636e\u5e93<\/h5>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/namemd1.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/namemd1.png\" \/><\/span><\/span><\/p>\n<h5 class=\"md-end-block md-heading\">model\u901a\u5e38\u4f4d\u4e8eapp\/models.py<\/h5>\n<h4 class=\"md-end-block md-heading\"><span class=\"\">1.\u65b0\u5efa\u4e00\u4e2aBook,Author\u7684\u6a21\u578b<\/span><\/h4>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-comment\">#models.py<\/span>\r\n<span class=\"cm-comment\"># -*- coding: utf-8 -*-<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">__future__<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">unicode_literals<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">django<\/span>.<span class=\"cm-property\">db<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">models<\/span>\r\n\u200b\r\n<span class=\"cm-keyword\">class<\/span> <span class=\"cm-def\">Book<\/span>(<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">Model<\/span>): \u00a0  <span class=\"cm-comment\">#\u521b\u5efa\u4e00\u4e2aBook\u7684\u6a21\u578b,\u91cc\u9762\u5305\u542bisbn,name,price\u4e09\u4e2a\u5b57\u6bb5<\/span>\r\n \u00a0  <span class=\"cm-variable\">isbn<\/span>=<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">IntegerField<\/span>() \u00a0 <span class=\"cm-comment\">#\u6574\u578b<\/span>\r\n \u00a0  <span class=\"cm-variable\">name<\/span>=<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">CharField<\/span>(<span class=\"cm-variable\">max_length<\/span>=<span class=\"cm-number\">100<\/span>)  <span class=\"cm-comment\">#\u5b57\u7b26\u4e32\u578b,\u6700\u5927\u957f\u5ea6100<\/span>\r\n \u00a0  <span class=\"cm-variable\">price<\/span>=<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">FloatField<\/span>() \u00a0 <span class=\"cm-comment\">#\u5b57\u7b26\u4e32\u7c7b\u578b<\/span>\r\n \u00a0  <span class=\"cm-keyword\">def<\/span> <span class=\"cm-def\">__unicode__<\/span>(<span class=\"cm-variable-2\">self<\/span>): \u00a0 <span class=\"cm-comment\">#\u5b9a\u4e49\u6210\u5458\u65b9\u6cd5unicode,\u5f53\u51fd\u6570\u5b9e\u4f8b\u5316\u65f6,\u6253\u5370\u8fd4\u56de\u63cf\u8ff0<\/span>\r\n \u00a0 \u00a0 \u00a0  <span class=\"cm-keyword\">return<\/span> <span class=\"cm-variable-2\">self<\/span>.<span class=\"cm-property\">name<\/span>\r\n\u200b\r\n<span class=\"cm-keyword\">class<\/span> <span class=\"cm-def\">Author<\/span>(<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">Model<\/span>):\r\n \u00a0  <span class=\"cm-variable\">name<\/span>=<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">CharField<\/span>(<span class=\"cm-variable\">max_length<\/span>=<span class=\"cm-number\">30<\/span>)\r\n \u00a0  <span class=\"cm-variable\">age<\/span>=<span class=\"cm-variable\">models<\/span>.<span class=\"cm-property\">IntegerField<\/span>()\r\n \u00a0  <span class=\"cm-keyword\">def<\/span> <span class=\"cm-def\">__unicode__<\/span>(<span class=\"cm-variable-2\">self<\/span>):\r\n \u00a0 \u00a0 \u00a0  <span class=\"cm-keyword\">return<\/span> <span class=\"cm-variable-2\">self<\/span>.<span class=\"cm-property\">name<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">\u521b\u5efa\u672c\u5730\u6620\u50cf\u6587\u4ef6&#8220;<\/h5>\n<p><span class=\"md-line md-end-block\">\u9700\u8981\u6ce8\u610f\u7684\u662f,\u6267\u884c\u6b64\u9879\u64cd\u4f5c,\u5fc5\u987b\u5148\u5c06\u5e94\u7528\u6dfb\u52a0\u5230\u5bf9\u5e94\u7684settings.py\u7684install_app\u5217\u8868<\/span><\/p>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-comment\">#settings.py<\/span>\r\n<span class=\"cm-variable\">INSTALLED_APPS<\/span> = [\r\n \u00a0  <span class=\"cm-string\">'django.contrib.admin'<\/span>,\r\n \u00a0  <span class=\"cm-string\">'django.contrib.auth'<\/span>,\r\n \u00a0  <span class=\"cm-string\">'django.contrib.contenttypes'<\/span>,\r\n \u00a0  <span class=\"cm-string\">'django.contrib.sessions'<\/span>,\r\n \u00a0  <span class=\"cm-string\">'django.contrib.messages'<\/span>,\r\n \u00a0  <span class=\"cm-string\">'django.contrib.staticfiles'<\/span>,\r\n \u00a0  <span class=\"cm-string\">'book'<\/span>, \u00a0  <span class=\"cm-comment\">#\u4e0d\u6dfb\u52a0\u7684\u6570,\u65e0\u6cd5\u521b\u5efa\u6539\u5e94\u7528\u7684\u6620\u5c04<\/span>\r\n]<\/pre>\n<h4 class=\"md-end-block md-heading\">\u5f00\u59cb\u521b\u5efa<span spellcheck=\"false\"><code>python manage.py makemigrations<\/code><\/span><\/h4>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;<\/span><span class=\"cm-variable\">python<\/span> <span class=\"cm-variable\">manage<\/span>.<span class=\"cm-property\">py<\/span> <span class=\"cm-variable\">makemigrations<\/span>\r\n<span class=\"cm-error\">\u6267\u884c\u6548\u679c<\/span>\r\n<span class=\"cm-variable\">Migrations<\/span> <span class=\"cm-keyword\">for<\/span> <span class=\"cm-string\">'book'<\/span>:\r\n  <span class=\"cm-variable cm-error\">book<\/span><span class=\"cm-error\">\\<\/span><span class=\"cm-variable\">migrations<\/span><span class=\"cm-error\">\\000<\/span><span class=\"cm-number\">1<\/span><span class=\"cm-variable\">_initial<\/span>.<span class=\"cm-property\">py<\/span>\r\n \u00a0  <span class=\"cm-operator\">-<\/span> <span class=\"cm-variable\">Create<\/span> <span class=\"cm-variable\">model<\/span> <span class=\"cm-variable\">Author<\/span>\r\n \u00a0  <span class=\"cm-operator\">-<\/span> <span class=\"cm-variable\">Create<\/span> <span class=\"cm-variable\">model<\/span> <span class=\"cm-variable\">Book<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">\u6620\u5c04\u672c\u5730\u6587\u4ef6\u5230\u6570\u636e\u5e93<span spellcheck=\"false\"><code>python manage.py migrate<\/code><\/span><\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;<\/span><span class=\"cm-variable\">python<\/span> <span class=\"cm-variable\">manage<\/span>.<span class=\"cm-property\">py<\/span> <span class=\"cm-variable\">migrate<\/span>\r\n<span class=\"cm-error\">\u6267\u884c\u6548\u679c<\/span>\r\n<span class=\"cm-variable\">Operations<\/span> <span class=\"cm-variable\">to<\/span> <span class=\"cm-variable\">perform<\/span>:\r\n  <span class=\"cm-variable cm-error\">Apply<\/span> <span class=\"cm-builtin\">all<\/span> <span class=\"cm-variable\">migrations<\/span>: <span class=\"cm-variable\">admin<\/span>, <span class=\"cm-variable\">auth<\/span>, <span class=\"cm-variable\">book<\/span>, <span class=\"cm-variable\">contenttypes<\/span>, <span class=\"cm-variable\">sessions<\/span>\r\n<span class=\"cm-variable\">Running<\/span> <span class=\"cm-variable\">migrations<\/span>:\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">contenttypes<\/span><span class=\"cm-number\">.0001<\/span><span class=\"cm-variable\">_initial<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0001<\/span><span class=\"cm-variable\">_initial<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">admin<\/span><span class=\"cm-number\">.0001<\/span><span class=\"cm-variable\">_initial<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">admin<\/span><span class=\"cm-number\">.0002<\/span><span class=\"cm-variable\">_logentry_remove_auto_add<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">contenttypes<\/span><span class=\"cm-number\">.0002<\/span><span class=\"cm-variable\">_remove_content_type_name<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0002<\/span><span class=\"cm-variable\">_alter_permission_name_max_length<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0003<\/span><span class=\"cm-variable\">_alter_user_email_max_length<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0004<\/span><span class=\"cm-variable\">_alter_user_username_opts<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0005<\/span><span class=\"cm-variable\">_alter_user_last_login_null<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0006<\/span><span class=\"cm-variable\">_require_contenttypes_0002<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0007<\/span><span class=\"cm-variable\">_alter_validators_add_error_messages<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">auth<\/span><span class=\"cm-number\">.0008<\/span><span class=\"cm-variable\">_alter_user_username_max_length<\/span>... <span class=\"cm-property\">OK<\/span>\r\n  <span class=\"cm-variable cm-error\">Applying<\/span> <span class=\"cm-variable\">book<\/span><span class=\"cm-number\">.0001<\/span><span class=\"cm-variable\">_initial<\/span>... <span class=\"cm-property\">OK<\/span> \u00a0 \u00a0  <span class=\"cm-comment\">#\u5982\u679c\u524d\u9762\u6ca1\u6709\u6dfb\u52a0INSTALLED_APPS,\u662f\u4e0d\u4f1a\u6709\u8fd9\u4e2a\u8868\u7684\u8bb0\u5f55<\/span>\r\n  <span class=\"cm-variable\">Applying<\/span> <span class=\"cm-variable\">sessions<\/span><span class=\"cm-number\">.0001<\/span><span class=\"cm-variable\">_initial<\/span>... <span class=\"cm-property\">OK<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">\u4ee5\u4e0a\u6b65\u9aa4\u5b8c\u6210\u540e,\u6570\u636e\u5e93\u5c31\u6210\u529f\u521b\u5efa\u597d\u4e86.<\/h5>\n<h4 class=\"md-end-block md-heading\">2.python manage.py shell \u64cd\u4f5c\u6570\u636e\u5e93<\/h4>\n<h3 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>python manage.py shell<\/code><\/span><\/h3>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-variable\">Python<\/span> <span class=\"cm-number\">2.7.13<\/span> (<span class=\"cm-variable\">v2<\/span><span class=\"cm-number\">.7.13<\/span>:<span class=\"cm-variable\">a06454b1afa1<\/span>, <span class=\"cm-variable\">Dec<\/span> <span class=\"cm-number\">17<\/span> <span class=\"cm-number\">2016<\/span>, <span class=\"cm-number\">20<\/span>:<span class=\"cm-number\">42<\/span>:<span class=\"cm-number\">59<\/span>) [<span class=\"cm-variable\">MSC<\/span> <span class=\"cm-variable\">v<\/span><span class=\"cm-number\">.1500<\/span> <span class=\"cm-number\">32<\/span> <span class=\"cm-variable\">bit<\/span> (<span class=\"cm-variable\">Intel<\/span>)] <span class=\"cm-variable\">on<\/span> <span class=\"cm-variable\">win32<\/span>\r\n<span class=\"cm-variable\">Type<\/span> <span class=\"cm-string\">\"help\"<\/span>, <span class=\"cm-string\">\"copyright\"<\/span>, <span class=\"cm-string\">\"credits\"<\/span> <span class=\"cm-keyword\">or<\/span> <span class=\"cm-string\">\"license\"<\/span> <span class=\"cm-keyword\">for<\/span> <span class=\"cm-variable\">more<\/span> <span class=\"cm-variable\">information<\/span>.\r\n(<span class=\"cm-variable\">InteractiveConsole<\/span>)<\/pre>\n<h5 class=\"md-end-block md-heading\">2.1\u521b\u5efa\u4e00\u6761\u8bb0\u5f55<\/h5>\n<h5 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>Author.objects.create(name=\"yangfan\",age=25)<\/code><\/span><\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"django\" contenteditable=\"false\">&gt;&gt;Author.objects.create(name=\"yangfan\",age=25)\r\n<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">Author:<\/span> <span class=\"cm-attribute\">yangfan<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span> \r\n######\u9047\u5230\u91cd\u590d\u4f9d\u7136\u662f\u53ef\u4ee5\u63d2\u5165\r\n &gt;&gt;&gt; Author.objects.create(name=\"yangfan\",age=25)\r\n<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">Author:<\/span> <span class=\"cm-attribute\">yangfan<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">\u4f46\u662f\u7531\u4e8e\u8fd9\u79cd\u65b9\u5f0f\u521b\u5efa\u7684\u8bb0\u5f55,\u540d\u5b57\u76f8\u540c\u65f6,\u4e0d\u4f1a\u68c0\u6d4b\u62a5\u9519,\u6240\u4ee5\u5f80\u5f80\u4f7f\u7528<\/h5>\n<h5 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>Author.objects.get_or_create(name=\"fusheng\",age=29)<\/code><\/span><\/h5>\n<h5 class=\"md-end-block md-heading\">\u8fdb\u884c\u521b\u5efa<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"django\" contenteditable=\"false\">&gt;&gt;&gt; Author.objects.get_or_create(name=\"fusheng\",age=29)\r\n(<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">Author:<\/span> <span class=\"cm-attribute\">fusheng<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>, True)\r\n&gt;&gt;&gt; Author.objects.get_or_create(name='Fusheng',age=29)\r\n(<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">Author:<\/span> <span class=\"cm-attribute\">Fusheng<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>, True)\r\n\u200b\r\n &gt;&gt;&gt; Author.objects.get_or_create(name=\"fusheng\",age=29) #\u5982\u679c\u68c0\u6d4b\u5230\u91cd\u590d,\u5219\u8fd4\u56de\u9519\u8bef.\u4e0d\u518d\u7ee7\u7eed\u63d2\u5165\u6570\u636e\r\n(<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">Author:<\/span> <span class=\"cm-attribute\">fusheng<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>, False)<\/pre>\n<h5 class=\"md-end-block md-heading\">2.2\u67e5\u8be2\u6570\u636e<\/h5>\n<h5 class=\"md-end-block md-heading\">get()\u65b9\u5f0f<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">\"fusheng\"<\/span>)\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">\"fusheng\"<\/span>).<span class=\"cm-property\">name<\/span>\r\n<span class=\"cm-string\">u'fusheng'<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">\"fusheng\"<\/span>).<span class=\"cm-property\">age<\/span>\r\n<span class=\"cm-number\">29<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">\u9700\u8981\u6ce8\u610f\u7684\u662f,get()\u53ea\u80fd\u83b7\u53d6\u5355\u6761\u8bb0\u5f55,\u5982\u679c\u5bf9\u8c61\u7684\u8bb0\u5f55\u6570\u5927\u4e8e1,\u5219\u4f1a\u8fd4\u56de\u5982\u4e0b\u9519\u8bef<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;<\/span><span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">\"yangfan\"<\/span>)\r\n<span class=\"cm-comment\">#\u9519\u8bef\u63d0\u793a:\u83b7\u53d6\u591a\u4e8e1\u6761\u8bb0\u5f55,\u6240\u4ee5\u8fd9\u4e2a\u65f6\u5019<\/span>\r\n<span class=\"cm-variable\">MultipleObjectsReturned<\/span>: <span class=\"cm-variable\">get<\/span>() <span class=\"cm-variable\">returned<\/span> <span class=\"cm-variable\">more<\/span> <span class=\"cm-variable\">than<\/span> <span class=\"cm-variable\">one<\/span> <span class=\"cm-variable\">Author<\/span> <span class=\"cm-operator\">--<\/span> <span class=\"cm-variable\">it<\/span> <span class=\"cm-variable\">returned<\/span> <span class=\"cm-number\">2<\/span><span class=\"cm-operator\">!<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">\u4e3a\u4e86\u89e3\u51b3\u4e0a\u8ff0\u95ee\u9898,\u53ef\u4ee5\u4f7f\u5458\u5de5<\/h5>\n<h5 class=\"md-end-block md-heading\">filter()\u65b9\u5f0f<\/h5>\n<h5 class=\"md-end-block md-heading\">\u8fd4\u56de\u7684\u662f\u4e00\u4e2aqueryset\u5bf9\u8c61,\u662f\u4e00\u4e2a\u5217\u8868,\u81ea\u7136\u53ef\u4ee5\u5207\u7247<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'yangfan'<\/span>)\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-comment\">#\u5f53\u7136\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5207\u7247\u7684\u65b9\u5f0f<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'yangfan'<\/span>)[<span class=\"cm-number\">0<\/span>]\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">2.3\u8fc7\u6ee4\u67e5\u8be2\u7684\u5bf9\u8c61<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__exact<\/span>=<span class=\"cm-string\">'fusheng'<\/span>) <span class=\"cm-comment\">#\u4e25\u683c\u5339\u914d\u67e5\u8be2,\u5339\u914d\u5230fusheng\u8fd4\u56de\u7ed3\u679c<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__iexact<\/span>=<span class=\"cm-string\">'fusheng'<\/span>)<span class=\"cm-comment\">#\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u67e5\u8be2<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__contains<\/span>=<span class=\"cm-string\">'sheng'<\/span>) <span class=\"cm-comment\">#\u6a21\u7cca\u67e5\u8be2,\u5305\u542bsheng\u5b57\u7b26\u4e32\u7684\u5bf9\u8c61\u90fd\u80fd\u88ab\u67e5\u8be2\u51fa\u6765,\u7c7b\u4f3clike<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__regex<\/span>=<span class=\"cm-string\">'sheng$'<\/span>) \u00a0 <span class=\"cm-comment\">#\u6b63\u5219\u5339\u914d\u65b9\u5f0f\u67e5\u8be2,\u4ee5sheng\u7ed3\u5c3e\u7684\u7ed3\u679c\u90fd\u80fd\u88ab\u67e5\u8be2<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__iregex<\/span>=<span class=\"cm-string\">'^fu'<\/span>) \u00a0  <span class=\"cm-comment\">#\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u7684\u6b63\u5219\u5339\u914d\u67e5\u8be2<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">2.4\u6392\u9664,\u6392\u5e8f\u8fde\u9501\u67e5\u8be2<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">exclude<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'fusheng'<\/span>)  <span class=\"cm-comment\">#\u6392\u9664name='fusheng'\u7684\u8bb0\u5f55<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n\u200b\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__regex<\/span>=<span class=\"cm-string\">'u'<\/span>).<span class=\"cm-property\">exclude<\/span>(<span class=\"cm-variable\">name__contains<\/span>=<span class=\"cm-string\">\"fan\"<\/span>) <span class=\"cm-comment\">#\u6392\u9664name\u4e2d\u5305\u542bu,\u4e14\u4e0d\u5305\u542bfan\u7684\u8bb0\u5f55<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n\u200b\r\n<span class=\"cm-operator\">&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">order_by<\/span>(<span class=\"cm-string\">'name'<\/span>)  <span class=\"cm-comment\">#\u6309name\u7684ascii\u7801\u987a\u5e8f\u8fdb\u884c\u987a\u5e8f\u6392\u5e8f,\u6240\u4ee5\u5927\u5199\u5b57\u6bcd\u9760\u524d<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">order_by<\/span>(<span class=\"cm-string\">'-name'<\/span>) <span class=\"cm-comment\">#\u6309name\u7684ascii\u7801\u987a\u5e8f\u8fdb\u884c\u5012\u5e8f\u6392\u5e8f<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name__contains<\/span>=<span class=\"cm-string\">'n'<\/span>).<span class=\"cm-property\">order_by<\/span>(<span class=\"cm-string\">'-name'<\/span>) <span class=\"cm-comment\">#\u67e5\u8be2name\u4e2d\u5305\u542bn\u7684\u8bb0\u5f55\u6309name\u5012\u5e8f\u6392\u5217<\/span>\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">2.5\u66f4\u65b0<\/h5>\n<h5 class=\"md-end-block md-heading\">save()\u6cd5<\/h5>\n<h5 class=\"md-end-block md-heading\">\u6ce8\u610f:\u53ea\u80fd\u4f7f\u7528get()\u83b7\u53d6\u5bf9\u8c61<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">p<\/span>=<span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>) <span class=\"cm-comment\">#\u83b7\u53d6\u5bf9\u8c61\u8d4b\u503c\u7ed9p<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">p<\/span>.<span class=\"cm-property\">age<\/span>\r\n<span class=\"cm-number\">31<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">p<\/span>.<span class=\"cm-property\">age<\/span>=<span class=\"cm-number\">18<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">p<\/span>.<span class=\"cm-property\">save<\/span>()<\/pre>\n<h5 class=\"md-end-block md-heading\">\u8fd9\u79cd\u65b9\u6cd5\u7b49\u4e8e\u6267\u884c\u4e86,\u628a\u6240\u6709\u7684\u5b57\u6bb5\u90fd\u66f4\u65b0\u4e00\u904d<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>).<span class=\"cm-property\">update<\/span>(<span class=\"cm-variable\">age<\/span>=<span class=\"cm-string\">'29'<\/span>,<span class=\"cm-variable\">age<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>)<\/pre>\n<h5 class=\"md-end-block md-heading\">update()\u65b9\u6cd5<\/h5>\n<h5 class=\"md-end-block md-heading\">\u6ce8\u610f:\u53ea\u80fd\u4f7f\u7528filter()\u65b9\u6cd5\u83b7\u53d6queryset\u5bf9\u8c61<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>)[<span class=\"cm-number\">0<\/span>].<span class=\"cm-property\">age<\/span>\r\n<span class=\"cm-number\">18<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>).<span class=\"cm-property\">update<\/span>(<span class=\"cm-variable\">age<\/span>=<span class=\"cm-string\">'29'<\/span>)  <span class=\"cm-comment\">#\u4f7f\u7528update\u8fdb\u884c\u4fee\u6539<\/span>\r\n<span class=\"cm-number\">1<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>)[<span class=\"cm-number\">0<\/span>].<span class=\"cm-property\">age<\/span>\r\n<span class=\"cm-number\">29<\/span><\/pre>\n<h5 class=\"md-end-block md-heading\">2.6\u5220\u9664delete()<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>)[<span class=\"cm-number\">0<\/span>].<span class=\"cm-property\">age<\/span>\r\n<span class=\"cm-number\">29<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">filter<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'yangfan'<\/span>)[<span class=\"cm-number\">0<\/span>].<span class=\"cm-property\">delete<\/span>()\r\n(<span class=\"cm-number\">1<\/span>, {<span class=\"cm-string\">u'book.Author'<\/span>: <span class=\"cm-number\">1<\/span>}) <span class=\"cm-comment\">#\u8fd4\u56de\u64cd\u4f5c\u7684\u8bb0\u5f55\u6570<\/span>\r\n<span class=\"cm-comment\">#\u5220\u9664\u5168\u8868\u64cd\u4f5c<\/span>\r\n<span class=\"cm-operator\">&gt;&gt;<\/span><span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">all<\/span>().<span class=\"cm-property\">delete<\/span>()<\/pre>\n<h5 class=\"md-end-block md-heading\">\u4e5f\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u65b9\u5f0f\u5220\u9664<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">p<\/span>=<span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-string\">'Fusheng'<\/span>)\r\n<span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">p<\/span>.<span class=\"cm-property\">delete<\/span>()<\/pre>\n<h2 class=\"md-end-block md-heading\">\u4f5c\u4e1a<\/h2>\n<h4 class=\"md-end-block md-heading\">\u8f93\u5165127.0.0.1:8000\/books\/python\/?name=&#8221;zhangsan&#8221;&amp;age=40\u6216127.0.0.1:8000\/books\/python\/zhangsan\/40\u628a\uff08&#8221;zhangsan&#8221;,40\uff09\u8bb0\u5f55\u5199\u5165\u6570\u636e\u5e93,\u7136\u540e\u901a\u8fc7python manage.py shell\u53bb\u68c0\u67e5\u662f\u5426\u6210\u529f\uff1f<\/h4>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-comment\">#urls.py<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">django<\/span>.<span class=\"cm-property\">conf<\/span>.<span class=\"cm-property\">urls<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">url<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">django<\/span>.<span class=\"cm-property\">contrib<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">admin<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">book<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">views<\/span>\r\n<span class=\"cm-variable\">urlpatterns<\/span> = [\r\n \u00a0  <span class=\"cm-variable\">url<\/span>(<span class=\"cm-string\">r'^admin\/'<\/span>, <span class=\"cm-variable\">admin<\/span>.<span class=\"cm-property\">site<\/span>.<span class=\"cm-property\">urls<\/span>),\r\n \u00a0  <span class=\"cm-variable\">url<\/span>(<span class=\"cm-string\">r'^book\/(?P&lt;bn&gt;\\w+)\/$'<\/span>, <span class=\"cm-variable\">views<\/span>.<span class=\"cm-property\">book<\/span>),\r\n \u00a0  <span class=\"cm-variable\">url<\/span>(<span class=\"cm-string\">r'^book\/(?P&lt;a&gt;\\w+)\/(?P&lt;b&gt;\\d+)\/$'<\/span>, <span class=\"cm-variable\">views<\/span>.<span class=\"cm-property\">book1<\/span>),\r\n]<\/pre>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-comment\"># -*- coding: utf-8 -*-<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">__future__<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">unicode_literals<\/span>\r\n\u200b\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">django<\/span>.<span class=\"cm-property\">shortcuts<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">render<\/span>\r\n<span class=\"cm-keyword\">from<\/span> <span class=\"cm-variable\">models<\/span> <span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">Author<\/span>\r\n<span class=\"cm-comment\"># Create your views here.<\/span>\r\n<span class=\"cm-keyword\">def<\/span> <span class=\"cm-def\">book<\/span>(<span class=\"cm-variable\">request<\/span>,<span class=\"cm-variable\">bn<\/span>):\r\n \u00a0  <span class=\"cm-variable\">name<\/span>=<span class=\"cm-variable\">request<\/span>.<span class=\"cm-property\">GET<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-string\">'name'<\/span>)\r\n \u00a0  <span class=\"cm-variable\">age<\/span>=<span class=\"cm-variable\">request<\/span>.<span class=\"cm-property\">GET<\/span>.<span class=\"cm-property\">get<\/span>(<span class=\"cm-string\">'age'<\/span>)\r\n \u00a0  <span class=\"cm-keyword\">if<\/span> <span class=\"cm-variable\">name<\/span> <span class=\"cm-keyword\">or<\/span> <span class=\"cm-variable\">age<\/span>:\r\n \u00a0 \u00a0 \u00a0  <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">create<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-variable\">name<\/span>,<span class=\"cm-variable\">age<\/span>=<span class=\"cm-variable\">age<\/span>)\r\n \u00a0  <span class=\"cm-variable\">a<\/span>=<span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">all<\/span>()\r\n \u00a0  <span class=\"cm-keyword\">return<\/span> <span class=\"cm-variable\">render<\/span>(<span class=\"cm-variable\">request<\/span>,<span class=\"cm-string\">'book_name.html'<\/span>,{<span class=\"cm-string\">'book_name'<\/span>:<span class=\"cm-variable\">bn<\/span>,<span class=\"cm-string\">'a'<\/span>:<span class=\"cm-variable\">a<\/span>,<span class=\"cm-string\">'name'<\/span>:<span class=\"cm-variable\">name<\/span>,<span class=\"cm-string\">'age'<\/span>:<span class=\"cm-variable\">age<\/span>})\r\n<span class=\"cm-keyword\">def<\/span> <span class=\"cm-def\">book1<\/span>(<span class=\"cm-variable\">request<\/span>,<span class=\"cm-variable\">a<\/span>,<span class=\"cm-variable\">b<\/span>):\r\n \u00a0  <span class=\"cm-variable\">bn<\/span>=<span class=\"cm-string\">'URL\u4f20\u53c2'<\/span>\r\n \u00a0  <span class=\"cm-keyword\">if<\/span> <span class=\"cm-variable\">a<\/span> <span class=\"cm-keyword\">or<\/span> <span class=\"cm-variable\">b<\/span>:\r\n \u00a0 \u00a0 \u00a0  <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">create<\/span>(<span class=\"cm-variable\">name<\/span>=<span class=\"cm-variable\">a<\/span>,<span class=\"cm-variable\">age<\/span>=<span class=\"cm-variable\">b<\/span>)\r\n \u00a0  <span class=\"cm-variable\">aa<\/span>=<span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">all<\/span>()\r\n \u00a0  <span class=\"cm-keyword\">return<\/span> <span class=\"cm-variable\">render<\/span>(<span class=\"cm-variable\">request<\/span>,<span class=\"cm-string\">'book_name.html'<\/span>,{<span class=\"cm-string\">'book_name'<\/span>:<span class=\"cm-variable\">bn<\/span>,<span class=\"cm-string\">'a'<\/span>:<span class=\"cm-variable\">aa<\/span>,<span class=\"cm-string\">'name'<\/span>:<span class=\"cm-variable\">a<\/span>,<span class=\"cm-string\">'age'<\/span>:<span class=\"cm-variable\">b<\/span>})<\/pre>\n<pre class=\"md-fences md-end-block\" lang=\"html\" contenteditable=\"false\"><span class=\"cm-meta\">&lt;!DOCTYPE html&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">html<\/span> <span class=\"cm-attribute\">lang<\/span>=<span class=\"cm-string\">\"en\"<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">head<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">meta<\/span> <span class=\"cm-attribute\">charset<\/span>=<span class=\"cm-string\">\"UTF-8\"<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">title<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\u8fd9\u662f{{ book_name }}\u9875\u9762<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">title<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">head<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">body<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">center<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">h1<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\u8fd9\u662f{{ book_name }}\u9875\u9762<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">h1<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  {% if name or age %}\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">h1<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\u5df2\u5c06\u8bb0\u5f55\u540d\u5b57:{{ name }},\u5e74\u9f84:{{ age }}\u5165\u5e93<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">h1<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  {% endif %}\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">table<\/span> <span class=\"cm-attribute\">border<\/span>=<span class=\"cm-string\">\"1\"<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">tr<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">th<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\u59d3\u540d<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">th<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">th<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\u5e74\u9f84<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">th<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">tr<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  {% for i in a %}\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">tr<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">td<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>{{ i.name }}<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">td<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;<\/span><span class=\"cm-tag\">td<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>{{ i.age }}<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">td<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  <span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">tr<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n \u00a0  {% endfor %}\r\n \u00a0  <span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">table<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">center<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">body<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span>\r\n<span class=\"cm-tag cm-bracket\">&lt;\/<\/span><span class=\"cm-tag\">html<\/span><span class=\"cm-tag cm-bracket\">&gt;<\/span><\/pre>\n<h4 class=\"md-end-block md-heading\">\u9996\u5148\u662f\u901a\u8fc7request\u7684\u53c2\u6570\u4f20\u53c2,\u4f20\u5165name=&#8221;zhangsan&#8221;&amp;age=40,\u53d1\u73b0\u5165\u5e93\u6210\u529f!<\/h4>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/namemd2.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/namemd2.png\" \/><\/span><\/span><\/p>\n<h4 class=\"md-end-block md-heading\">\u63a5\u7740\u662fURL\u8def\u7531\u7684\u53c2\u6570\u4f20\u53c2,\u5165\u5e93\u6210\u529f<\/h4>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/namemd3.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/namemd3.png\" \/><\/span><\/span><\/p>\n<h5 class=\"md-end-block md-heading\">python manage.py shell \u67e5\u770b\u8bb0\u5f55,\u5df2\u5165\u5e93\u6210\u529f<\/h5>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-operator\">&gt;&gt;&gt;<\/span> <span class=\"cm-variable\">Author<\/span>.<span class=\"cm-property\">objects<\/span>.<span class=\"cm-property\">all<\/span>()\r\n<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">QuerySet<\/span> [<span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">yangfan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">Fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">FF<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">FF<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-string\">\"zhangsan\"<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">zhangsan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">zhangsan<\/span><span class=\"cm-operator\">&gt;<\/span>, <span class=\"cm-operator\">&lt;<\/span><span class=\"cm-variable\">Author<\/span>: <span class=\"cm-variable\">fusheng<\/span><span class=\"cm-operator\">&gt;<\/span>]<span class=\"cm-operator\">&gt;<\/span><\/pre>\n<h1 class=\"md-end-block md-heading\"><\/h1>\n","protected":false},"excerpt":{"rendered":"<p>ORM (\u5bf9\u8c61\u5173\u7cfb\u6620\u5c04-Object Relational Mapping) \u53ef\u4ee5\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\u8bed\u8a00\u91cc\u4e0d\u540c\u7c7b\u578b\u7cfb\u7edf\u7684\u6570\u636e\u4e4b\u95f4\u7684\u8f6c\u6362. \u6a21\u578bmodel\u4e0e\u6570\u636e\u5e93 model\u901a\u5e38\u4f4d\u4e8eapp\/models.py 1.\u65b0\u5efa\u4e00\u4e2aBook,Author\u7684\u6a21 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54],"tags":[],"_links":{"self":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1288"}],"collection":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1288"}],"version-history":[{"count":3,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1288\/revisions"}],"predecessor-version":[{"id":1425,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1288\/revisions\/1425"}],"wp:attachment":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1288"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}