千家信息网

django使用models创建表

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py
千家信息网最后更新 2025年02月01日django使用models创建表

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


创建表

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

#coding:utf8from django.db import modelsclass Userlist(models.Model):    username = models.CharField(max_length=50)    password = models.CharField(max_length=50)

我们新建了一个Userlist类,继承自models.Model, 一个用户清单里面有用户名和密码。这里用到了一种Field,更多Field类型可以参考教程最后的链接。


同步数据库

python manage.py makemigrationsMigrations for 'learn':  0006_userlist.py:    - Create model UserListpython manage.py migrateOperations to perform:  Synchronize unmigrated apps: staticfiles, messages  Apply all migrations: admin, contenttypes, sessions, auth, learnSynchronizing 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 adminfrom 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 makemigrationspython manage.py migrate


4、访问后台管理

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



0