关于django的model操作:
一、简介
django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表。
参考博客1:https://www.cnblogs.com/wupeiqi/articles/5246483.html
参考博客2:https://www.cnblogs.com/yuanchenqi/articles/5786089.html
二、配置
django中默认使用数据库sqlite,如需要使用mysql,需要在settings中进行配置,
# 使用mysql时,进行如下配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'chouti', 'USER':'root', 'PASSWORD':'', 'HOST':'localhost', 'POST':'8000', } }
在settings INSTALLED_APPS中,添加应用名,进行激活,
在项目的init文件中,添加如下两句代码:
import pymysql pymysql.install_as_MySQLdb()
三、应用
1、在app的models中创建数据库类
from django.db import models # Create your models here. class django_userinfo(models.Model): name = models.CharField(max_length=30) email = models.EmailField() memo = models.TextField()
2、在数据库中创建相应表单
>>>python manage.py makemigrations 应用名
>>>python manage.py migrate
4、migrations和migrate不同步时处理
首先,删除django_migrations中关于本应用的所有migrations,
>>>python manage.py dbshell,进入数据库操作
>>>delete from django_migrations where app=‘应用名’,删除指定应用名下的migrations,
然后,重新makemigrations和migrate,
四、关于admin
admin是django自带的后台管理模块,与主线流程不相关,
1、注册admin用户
python manage.py createsuperuser,按步骤填写username、email、password,即可注册用户,
2、进入admin
如:127.0.0.1:8000 /admin/login,进入admin登录界面,通过已经注册过的用户名和密码,进行登录,
3、将数据库表注册到admin
在admin表中,导入本应用下models中的所有表(类),并使用admin.site.register(表名),将表(类)注册到admin
from django.contrib import admin from app02.models import * # Register your models here. admin.site.register(AuthorDetail) admin.site.register(UserDetail)
浙公网安备 33010602011771号