Django案例讲解

1.案例介绍

设计介绍

  • 本示例完成“图书-英雄“信息的维护,需要存储两种数据:图书、英雄
  • 图书表结构设计:
    • 表名:BookInfo
    • 图书名称:btitle
    • 图书发布时间:bpub_date
  • 英雄表结构设计:
    • 表名:HeroInfo
    • 英雄姓名:hname
    • 英雄性别:hgender
    • 英雄简介:hcontent
    • 所属图书:hbook
  • 图书-英雄的关系为一对多

2.数据库配置

数据库配置

  • setting.py文件中,通过DATABASES项进行数据库设置
  • django支持的数据库包括:sqlite、mysql等主流数据库
  • Django默认使用SQLite数据库

创建应用

  • 在一个项目中可以创建一到多个应用,每个应用进行一种业务处理
  • 创建应用的命令:
python manage.py startapp booktest

创建应用后文件目录如图:
在这里插入图片描述

定义数据库模型

定义模型类

  • 有一个数据表,就有一个模型类与之对应
  • 打开models.py文件,定义模型类
  • 引入包from django.db import models
  • 模型类继承models.Model
  • 说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长
  • 当输出对象时,会调用对象的str方法
from django.db import models


# Create your models here.

class BookInfo(models.Model):
	# 默认会有主键,为id并且自增
	# 书籍名称:字符串区域
    btitle = models.CharField(max_length=50)
    # 书籍的出版日期,相当于datetime.date.today()
    bpub_date = models.DateField()

    def __str__(self):
        return '%s' % (self.btitle)


class HeroInfo(models.Model):
    hname = models.CharField(max_length=30)
    # 0:男		1:女
    hgender = models.BooleanField()
    hcontent = models.TextField()
    # 如果是Django1.x版本,models.ForeignKey(BookInfo)
    # 如果是Django2.x版本,models.ForeignKey(BookInfo)
    # models.CASCADE:级联删除,如果书籍删除了,书籍里面的英雄也就删除了
    # models.DO_NOTHING:当删除有关联的数据库内容是会报错
    # models.SET_NULL:不是级联删除,如果书籍删除&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值