天天看点

django使用models创建表

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,如需转载请自行联系原作者

上一篇: 反射