Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。
创建表
我们打开 mysite/models.py 文件,修改其中的代码如下:
#coding:utf8
from django.db import models
class Userlist(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
我们新建了一个Userlist类,继承自models.Model, 一个用户清单里面有用户名和密码。这里用到了一种Field,更多Field类型可以参考教程最后的链接。
同步数据库
python manage.py makemigrations
Migrations for 'learn':
0006_userlist.py:
- Create model UserList
python manage.py migrate
Operations to perform:
Synchronize unmigrated apps: staticfiles, messages
Apply all migrations: admin, contenttypes, sessions, auth, learn
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying learn.0006_userlist... OK
注册表
打开mystie/admin.py文件,修改代码:
from django.contrib import admin
from learn.models import *
# Register your models here.
class UserlistAdmin(admin.ModelAdmin):
list_display = ['username','password']
admin.site.register(Userlist,UserlistAdmin)
访问后台管理
http://127.0.0.1:8000/admin
如何删除表?
1、删除mysite/models.py中的对应类
2、删除mysite/admin.py中注册的类
3、数据库同步
python manage.py makemigrations
python manage.py migrate
4、访问后台管理
可以看到已经没有了Userlist表了