第一部分
第一步:创建项目
G:\pythonworkspaces>django-admin startproject BlogProject
第二步:创建用户模块应用
G:\pythonworkspaces\BlogProject>python manage.py startapp UserModel
第三步:建立应用和项目之间的关系,需要对应用进行注册
第四步:运行web服务器命令
G:\pythonworkspaces\BlogProject>python manage.py runserver
第二部分
模型类生成表
步骤1:编写模型类
from django.db import models
# Create your models here.
class UserInfo(models.Model):
#字符串类型,主键自动生成
username=models.CharField(max_length=20)
#日期类型
RegDateTime=models.DateField()
步骤2:生成迁移文件
G:\pythonworkspaces\BlogProject>python manage.py makemigrations
步骤3:执行迁移文件生成表
G:\pythonworkspaces\BlogProject>python manage.py migrate
note:生成表名规则:应用名+下划线+模型名小写
数据库基本操作:增、删、改、查
表关系操作
1对多表关系定义
class BookInfo(models.Model):
#字符串类型,主键自动生成
title=models.CharField(max_length=20)
#日期类型
pdate=models.DateField()
'''
英雄人物类
英雄名 hname
性别 hgender
年龄 hage
备注 hcomment
关系属性 hbook 建立图书类和英雄人物之间一对多的关系
'''
class HeroInfo(models.Model):
#字符串类型,主键自动生成
hname=models.CharField(max_length=20)
#default指定默认值,False代表男性
hgender=models.BooleanField(default=False)
hcomment=models.CharField(max_length=128)
#说明一对多关系,赋值的时候,需要一个对象
hbook=models.ForeignKey('BookInfo')
1对多表关系查询
第三部分:后台管理
如何使用后台管理
第一步:语言和时区本地化,修改settings.py
第二步:创建管理员-admin/admin:python manage.py createsuperuser
G:\pythonworkspaces\BlogProject>python manage.py createsuperuser
用户名 (leave blank to use 'qidian'): admin
电子邮件地址: cheng@163.com
Password:
Password (again):
第三步:注册模型类型,并重写__str__方法
注册模型类
from django.contrib import admin
from UserModel.models import BookInfo,HeroInfo
# Register your models here.
admin.site.register(BookInfo)
重写方法
def __str__(self):
#让后台管理显示书名,而不是对象名称
return self.title
第四步:
第四部分:模型ORM
F 对象
作用:用于类属性之间的比较
使用之前需要先导入:
from django.db.models import F
例:查询图书阅读量大于评论量图书信息
例:查询图书阅读量大于2倍评论量图书信息
Q 对象
作用:用于查询时条件之间的逻辑关系,not and or,可以对Q对象进行& | ~操作
使用之前需要先导入:
from django.db.models import Q
例:查询id 大于3且阅读量大于30的图书信息