django加载mysql

版本:

django:1.11.9

python3

首先需要安装一些库:mysqldb、pymysql、mysqlclient。django会提示安装MySQLdb,这个玩意python3 已经不支持了。

在setting.py里添加database相关信息:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysite',
        'HOST':'',
        'PORT':'3306',
        'USER':'root',
        'PASSWORD':'123',
    }
}

然后创建一个文件叫models.py,存储数据模型

from django.db import models

# Create your models here.

class Publisher(models.Model):
    pub_name=models.CharField(max_length=200)
    city=models.CharField(max_length=200)

class Book(models.Model):
    book_name = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    publish = models.ForeignKey(Publisher, on_delete=models.CASCADE)
    
    class META:
        ordering=('publish')
        #正序排列
        ordering-('-publish')
        #倒叙排列
        db_table='UserRecord'
        #表名
        

其中可以使用meta来定义表名啥的:

 class Meta(object):
        # 定义表名
        db_table = "department"
        # 定义在管理后台显示的名称
        verbose_name = '部门'
        # 定义复数时的名称(去除复数的s)
        verbose_name_plural = verbose_name

在mysql中生成表格的命令:

    python manage.py makemigrations

    python manage.py migrate   

 

增删改查

models.UserInfo.objects.all()

models.UserInfo.objects.all().values('user')    #只取user列

models.UserInfo.objects.all().values_list('id','user')    #取出id和user列,并生成一个列表

models.UserInfo.objects.get(id=1)

models.UserInfo.objects.get(user='yangmv')

models.UserInfo.objects.create(user='yangmv',pwd='123456')

或者

obj = models.UserInfo(user='yangmv',pwd='123456')

obj.save()

或者

dic = {'user':'yangmv','pwd':'123456'}

models.UserInfo.objects.create(**dic)

models.UserInfo.objects.filter(user='yangmv').delete()

models.UserInfo.objects.filter(user='yangmv').update(pwd='520')

或者

obj = models.UserInfo.objects.get(user='yangmv')

obj.pwd = '520'

obj.save()

常用字段:

models.DateTimeField  日期类型 datetime

参数,

auto_now = True :则每次更新都会更新这个时间

auto_now_add 则只是第一次创建添加,之后的更新不再改变。

在python 的setting中药修改时区信息。

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

如果最后依旧查8个小时,可以

USE_TZ = False

models.GenericIPAddressField      IP

ip = models.GenericIPAddressField(protocol="ipv4",null=True,blank=True)

连表结构

  • 一对多:models.ForeignKey(其他表)
  • 多对多:models.ManyToManyField(其他表)
  • 一对一:models.OneToOneField(其他表)

不懂看这里:https://www.cnblogs.com/yangmv/p/5327477.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值