Django数据库与模型类

数据库的配置

  • 注意 如果配置里用的是ip地址访问
  • 需要修改mysql库里的user表里的 User字段为root的那条数据的Host字段为%,如下图
  • 查询账户Host的信息
    select Host,User from mysql.user;
  • 修改账户信息
    update mysql.user set host = ‘%’ where user = ‘root’;

在这里插入图片描述

安装mysqlclient

pip install mysqlclient
如果有报错可以参考这个我安装过程中出现问题的记录

ORM

在工程里创建新的应用booktest

在booktest的model里创建模型类

from django.db import models


# Create your models here.

class BookInfo(models.Model):
    '''
    图书 一对多中的 一
    '''

    title = models.CharField(max_length=20, verbose_name='书名')
    pub_date = models.DateField(verbose_name='发布日期')
    read = models.IntegerField(default=0, verbose_name='阅读量')
    comment = models.IntegerField(default=0, verbose_name='评论量')
    is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')
    image = models.ImageField(upload_to='bookimage', verbose_name='封面图片', null=True)

    class Meta:
        db_table = 'bookinfo'
        verbose_name = '书'

    def __str__(self):
        return self.title


class HeroInfo(models.Model):
    '''
    英雄 一对多中的 多
    '''

    GENDER_CHOISE = (
        (0, 'male'),
        (1, 'female')
    )

    name = models.CharField(max_length=20, verbose_name='名字')
    gender = models.SmallIntegerField(choices=GENDER_CHOISE, verbose_name='性别')
    desc = 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 = 'heroinfo'
        verbose_name = '英雄'
        
    def __str__(self):
        return self.name

生成迁移文件

python manage.py makemigrations

执行迁移命令

python manage.py migrate

结果

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值