django使用models创建表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django使用models创建表相关的知识,希望对你有一定的参考价值。

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表了



本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1901574

以上是关于django使用models创建表的主要内容,如果未能解决你的问题,请参考以下文章

django使用已有的数据库表怎么建立model

Django中级篇之Model专题

使用 Django Model 类继承为表创建审计日志

Django使用数据库表反向生成models类

django 反向生成models.py

Django基础之model操作数据库model基础入门推荐