Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。
创建表
我们打开 mysite/models.py 文件,修改其中的代码如下:
1
2
3
4
5
<code>#coding:utf8</code>
<code>from</code> <code>django.db </code><code>import</code> <code>models</code>
<code>class</code> <code>Userlist(models.Model):</code>
<code> </code><code>username </code><code>=</code> <code>models.CharField(max_length</code><code>=</code><code>50</code><code>)</code>
<code> </code><code>password </code><code>=</code> <code>models.CharField(max_length</code><code>=</code><code>50</code><code>)</code>
我们新建了一个Userlist类,继承自models.Model, 一个用户清单里面有用户名和密码。这里用到了一种Field,更多Field类型可以参考教程最后的链接。
同步数据库
6
7
8
9
10
11
12
13
14
15
<code>python manage.py makemigrations</code>
<code>Migrations </code><code>for</code> <code>'learn'</code><code>:</code>
<code> </code><code>0006_userlist</code><code>.py:</code>
<code> </code><code>-</code> <code>Create model UserList</code>
<code>python manage.py migrate</code>
<code>Operations to perform:</code>
<code> </code><code>Synchronize unmigrated apps: staticfiles, messages</code>
<code> </code><code>Apply</code> <code>all</code> <code>migrations: admin, contenttypes, sessions, auth, learn</code>
<code>Synchronizing apps without migrations:</code>
<code> </code><code>Creating tables...</code>
<code> </code><code>Running deferred SQL...</code>
<code> </code><code>Installing custom SQL...</code>
<code>Running migrations:</code>
<code> </code><code>Rendering model states... DONE</code>
<code> </code><code>Applying learn.</code><code>0006_userlist</code><code>... OK</code>
注册表
打开mystie/admin.py文件,修改代码:
<code>from</code> <code>django.contrib </code><code>import</code> <code>admin</code>
<code>from</code> <code>learn.models </code><code>import</code> <code>*</code>
<code># Register your models here.</code>
<code>class</code> <code>UserlistAdmin(admin.ModelAdmin):</code>
<code> </code><code>list_display </code><code>=</code> <code>[</code><code>'username'</code><code>,</code><code>'password'</code><code>]</code>
<code>admin.site.register(Userlist,UserlistAdmin)</code>
访问后台管理
<a href="http://127.0.0.1:8000/admin" target="_blank">http://127.0.0.1:8000/admin</a>
<a href="https://s3.51cto.com/wyfs02/M00/8E/01/wKioL1izkrmDaBM_AAElT_I3cPI466.png" target="_blank"></a>
如何删除表?
1、删除mysite/models.py中的对应类
<a href="https://s2.51cto.com/wyfs02/M00/8E/02/wKioL1izk_iDjUSMAAR-YZsOOWI946.png" target="_blank"></a>
3、数据库同步
4、访问后台管理
<a href="https://s1.51cto.com/wyfs02/M01/8E/04/wKiom1izlIzhEfQBAAEZVCY1DRM045.png" target="_blank"></a>
可以看到已经没有了Userlist表了
本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1901574,如需转载请自行联系原作者