您当前的位置: 首页 >  django

暂无认证

  • 5浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Django-ORM模型层语法(四)之多表操作准备工作

发布时间:2020-12-12 15:17:31 ,浏览量:5

多表操作准备工作

settings.py

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm1', "USER":'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'PORT':3306, 'CHARSET':'utf8', } } 

init.py

import pymysql
pymysql.install_as_MySQLdb() 

models.py

from django.db import models # Create your models here. class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8,decimal_places=2) publish_date = models.DateField(auto_now_add=True) # 一对多 publishs = models.ForeignKey(to='Pulish') # 多对多 authors = models.ManyToManyField(to='Author') class Pulish(models.Model): name = models.CharField(max_length=32) addr = models.CharField(max_length=64) email =models.EmailField() # varchar(254) 该字段类型不是给models看的,而是给校验性组件看的 class Author(models.Model): name = models.CharField(max_length=32) age = models.IntegerField() # 一对一 author_detail = models.OneToOneField(to='AuthorDetail') class AuthorDetail(models.Model): phone = models.BigIntegerField() # 电话号码用BigIntergerField或者直接用CharField addr = models.CharField(max_length=64) 

Terminal

python manege.py makegirations
python manage.py migrate

生成的表格(为了简便,数据直接用Navicat手动输入)

app01_author表 :

id name age author_detail_id 1 Kevin 18 1 2 Steven 20 2 3 Adam 28 3 app01_authordetail表 : id phone addr – – – – 1 100 南京 2 200 北京 3 300 深圳 app01_pulish表 : id name addr email – – – – 1 东方出版社 东方 123@qq.com 2 西方出版社 西方 666@qq.com
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3985s