关于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',
    }
}
mysql配置

在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()
models_class

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)
app02.admin