django使用models创建表

简介:

Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。


创建表

我们打开 mysite/models.py 文件,修改其中的代码如下:

1
2
3
4
5
#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类型可以参考教程最后的链接。


同步数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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文件,修改代码:

1
2
3
4
5
6
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


wKioL1izkrmDaBM_AAElT_I3cPI466.png


如何删除表?

1、删除mysite/models.py中的对应类

wKioL1izk6rBtQD2AAZdgoLx5JM424.png2、删除mysite/admin.py中注册的类

wKioL1izk_iDjUSMAAR-YZsOOWI946.png

3、数据库同步

1
2
python manage.py makemigrations
python manage.py migrate


4、访问后台管理

wKiom1izlIzhEfQBAAEZVCY1DRM045.png

可以看到已经没有了Userlist表了











本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1901574,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
测试技术 数据库 数据安全/隐私保护
实现Django Models的数据mock
实现Django Models的数据mock
25 0
|
12月前
|
存储 SQL 网络协议
Django model 层之Models与Mysql数据库小结2
Django model 层之Models与Mysql数据库小结
103 0
|
12月前
|
存储 网络协议 关系型数据库
Django model 层之Models与Mysql数据库小结1
Django model 层之Models与Mysql数据库小结
78 0
|
关系型数据库 MySQL 数据库
django models进行数据库增删查改
django models进行数据库增删查改
独立py文件调用Django models
前提条件 需要独立的文件和models、views在同一级目录,不然会报错 django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
|
数据库 Python
Django在根据models生成数据库表时报 __init__() missing 1 required positional argument 'on_d
代码: from django.db import models class Blog(models.Model): name = models.
1539 0
|
关系型数据库 数据库 Python