django学习笔记

1.运行manage.py文件,进入报错链接,修改为'DIRS':[os.path.join(ROOT_URLCONF, 'templates')]

重新运行,

重新运行,

Python manage.py startapp book

 

 

 

 将上一步的文件直接复制到主应用文件中(book)

 

 

 修改数据库配置   sqlite3属于微型数据库,

 

下载pymysql库

pip install pymysql

 

 

数据库必须先创建好(create database book chartset=utf8)

接下来创建模板model

同样给出示例

from django.db import models

# Create your models here.

"""
定义模型类需要在models.py文件当中
定义模型类的时候需要注意啥:必须要继承models.Model

图书和人物案例来进行演示

ORM

表 对应 模型类
字段 -- 属性

必须要继承models.Model

模型类会自动为我们添加生成一个主键 id

属性名 = 属性类型(选项)

    属性名:不用是python 关键字包括也不要起mysql关键字
    不要使用连续的下划线__
    
"""

class BookInfo(models.Model):
    # 属性名=属性类型(选项)
    name = models.CharField(max_length=10, unique=True, verbose_name='名字')
    # 发布日期
    pub_date = models.DateField(null=True)
    # 阅读量
    readcount = models.IntegerField(default=0)
    # 评论量
    commentcount = models.IntegerField(default=0)
    # 是否逻辑删除 物理删除
    is_delete = models.BooleanField(default=False)

    class Meta:
        # 改表名
        db_table = 'bookinfo'
        # 修改后台admin的显示信息的配置
        verbose_name = '书籍'

    def __str__(self):
        return self.name


class PeopleInfo(models.Model):
    # 有序字典 元组嵌套 一组不能发生改变的数据
    GENDER_CHOICES = (
        (0, 'male'),
        (1, 'female')
    )

    name = models.CharField(max_length=10, verbose_name='名称')
    gender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0, verbose_name='性别')
    description = models.CharField(max_length=200, null=True, verbose_name='描述信息')
    # 书籍:人物
    book = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name='图书')
    is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')

    class Meta:
        db_table = 'peopleinfo'
        verbose_name = '人物信息'

    def __str__(self):
        return self.name

迁移和生成文件

也可以在pycharm终端操作

需加上 python manage.py makemigrations

 接下来继续输入python manage.py migrate

 因为没设置迁移文件,所以默认迁移所有文件,book.0001即为所需

 

 创建数据,给出以下示例代码

insert into bookinfo(name, pub_date, readcount,commentcount, is_delete) values
('射雕英雄传', '1980-5-1', 12, 34, 0),
('天龙八部', '1986-7-24', 36, 40, 0),
('笑傲江湖', '1995-12-24', 20, 80, 0),
('雪山飞狐', '1987-11-11', 58, 24, 0);
insert into peopleinfo(name, gender, book_id, description, is_delete) values
('郭靖', 1, 1, '降龙十八掌', 0),
('黄蓉', 0, 1, '打狗棍法', 0),
('黄药师', 1, 1, '弹指神通', 0),
('欧阳锋', 1, 1, '蛤蟆功', 0),
('梅超风', 0, 1, '九阴白骨爪', 0),
('乔峰', 1, 2, '降龙十八掌', 0),
('段誉', 1, 2, '六脉神剑', 0),
('虚竹', 1, 2, '天山六阳掌', 0),
('王语嫣', 0, 2, '神仙姐姐', 0),
('令狐冲', 1, 3, '独孤九剑', 0),
('任盈盈', 0, 3, '弹琴', 0),
('岳不群', 1, 3, '华山剑法', 0),
('东方不败', 0, 3, '葵花宝典', 0),
('胡斐', 1, 4, '胡家刀法', 0),
('苗若兰', 0, 4, '黄衣', 0),
('程灵素', 0, 4, '医术', 0),
('袁紫衣', 0, 4, '六合拳', 0);

 

 

 

 下节继续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

给你给个糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值