django 创建笔记

项目的创建:django-admin startproject 项目名
进入虚拟环境
test1
   __init__ ;说明是test1的一个python包
   settings.py:项目的配置文件
   urls.py :进行url路由的配置
   wsgi.py:web服务器和Django交互的入口
manage.py:项目的管理文件

一个项目有很多应用组成,每一个应用完成特定的功能
创建应用:python manage.py startapp (名字)booktest
booktest
   __init__:说明目录是一个python模块
   models.py:写和数据库项目的内容
   views.py:接收请求,进行处理,与M和T进行交互,返回应答,定义处理函数,视图函数
   tests.py:写测试代码的文件
   admin.py:网站后台管理相关的文件
建立应用和项目之间联系,进行应用注册,在settings文件中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'project_1.apps.Project1Config',#进行应用的注册
]
运行项目:python manage.py runserver

 

模型类设计
在models.py中设置模型类
必须继承models.Model类
 设计BookInfo类
Model.Foreignkey可以创建两个模型类之间一对多的关系,django在生成表的时候,
就会在多的表中创建一列作为外键,建立两个表之间一对多的关系

模型类生成表

生成迁移文件:python manage.py makemigrations

执行迁移文件生成表:python manage.py migrate

通过模型类操作数据表 python manage.py shell

from project_1.models import BookInfo
b = BookInfo()
b.title = '天龙八部'
from datetime import date
b.bpub_date = date(2018,11,21)
b.save()

b2 = BookInfo.objects.get(id=1)
更新
b2.b.bpub_date = date(2019,1,21)
b2.save()
删除
b2.delete()

创建外键时需要设置一个参数on_delete=models.DO_NOTHING
 hbook = models.ForeignKey('BookInfo',on_delete=models.DO_NOTHING)

from project_1.models import BookInfo,HeroInfo
c = BookInfo()
c.title = '天龙八部'
from datetime import date
c.bpub_date = date(2018,11,21)
c.save()
h = HeroInfo()
h.hname = '段誉'
h.hgender = False
h.hcomment = '六脉神剑'
h.hbook = c
h.save()
添加数据
h2 = HeroInfo()
h2.hname = '乔峰'
h2.hcomment = '降龙十八掌'
h2.hbook = c
h2.save()

查找:h2.hname

h2.hcomment

h2.hbook_id

查询所有:

HeroInfo.objects.all()

由一查多

b.heroinfo_set.all()

由多查一

h.hook()

原文地址:https://www.cnblogs.com/zhen622/p/9994680.html