models.py文件中创建表字段分析实例:
图书管理系统--->
书、作者、出版社作为基表 from django.db import models # Create your models here.
#先不要考虑外键关系,先创基表
class Book(models.Model):
'''
书名、价格、出版社、作者
'''
title=models.CharField(max_length=32)
#小数长度总共8位,小数占两位
price=models.DecimalField(max_digits=8,decimal_places=2)
#出版社和书是一对多关系,并且书是多的一方,所以外键字段建在书表中,
publish=models.ForeignKey(to='Publish')
#to用来指代和哪张表有关系,默认关联的就是表的主键字段
'''
一对多外键字段在创建的时候,同步到数据中,表字段会自动加_id后缀
如果你自己加了_id,我ORM头铁,会在后面再加一个_id,
所以你在写一对多外键字段的时候,不要自作聪明的加_id。 '''
#一本书可以有多个作者,一个作者可以有多本书,所以书和作者是多对多的关系,
# 外间字段建在任意一方都可以,但是建议你建立在查询频率较高的一方。
author=models.ManyToManyField(to='Author')
#django orm 会自动帮你创建书籍和作者的第三张关系表,
#author这个字段是一个虚拟字段,不会再表中展示出来,仅仅只是起到一个
#告诉 orm 建第三张表的关系的作用。 class Publish(models.Model):
'''
出版社名字、出版社邮箱
'''
title=models.CharField(max_length=32)
email=models.EmailField() class Author(models.Model):
'''
作者名字、作者年龄
'''
name=models.CharField(max_length=64)
age=models.IntegerField()
#作者表和作者详情表是一对一的表关系,外键字段建在任意一方都可以,
#但是建议你建在查询频率较高的那一方。
author_detail=models.OneToOneField(to='Author_detail')
'''
一对一的外键字段,创建的时候,同步到数据中,表字段会自动加_id后缀,
如果你自己加了_id 我orm头铁,在后面再加一个_id,
所以你在写一对一外键字段的时候,不要自作聪明的加_id 。
''' class Author_detail(models.Model):
'''
作者手机号、作者地址
'''
phone=models.BigIntegerField()
addr=models.CharField(max_length=32)

Django day03之表设计分析的更多相关文章

  1. [翻译]Django速查表

    原文在此:https://code.djangoproject.com/wiki/DjangoCheatSheet Django速查表Django教程已经非常好了.这个速查表的作用是创建一个快速开始指 ...

  2. Winform开发框架中工作流模块的表设计分析

    在较早博客随笔里面写过文章<Winform开发框架之简易工作流设计>之后,很久没有对工作流部分进行详细的介绍了,本篇继续这个主题,详细介绍其中的设计.实现及效果给大家,这个工作流在好几年前 ...

  3. 第二十二章 Django会话与表单验证

    第二十二章 Django会话与表单验证 第一课 模板回顾 1.基本操作 def func(req): return render(req,'index.html',{'val':[1,2,3...]} ...

  4. Django的form表单

    html的form表单 django中,前端如果要提交一些数据到views里面去,需要用到 html里面的form表单. 例如: # form2/urls.py from django.contrib ...

  5. 第四百零六节,自定义用户表类来继承Django的用户表类,

    第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...

  6. Django 之多表查询 与多表的使用

    1.django的多表查询 主要区分为: 正向查询    逆向查询 1. 多表查询: 是一个复杂的查询,他分为对象查询和__模糊查询两种方式 2. 多表查询: 又分为 一对一查询, 一对多查询, 多对 ...

  7. Django:提交表单时遇到403错误:CSRF verification failed

    Django:提交表单时遇到403错误:CSRF verification failed 问题: 提交表单时遇到403错误:CSRF verification failed 解决方案: 在表单界面ht ...

  8. django migrate生成表结构DateTimeField 类型加了6位精度别的框架无法调用的问题?

    背景介绍 django migrate 生成表结构时,对于DateTimeField 类型的处理是加了6位精度的,只用django处理是没有任何问题的,但是如何别的框架来读取这种字段会读取不到该字段值 ...

  9. django重写form表单中的局部钩子函数

    from django import forms from django.core.exceptions import ValidationError from jax import models c ...

随机推荐

  1. Python第五天 列表练习 元组类型 字典类型 小购物车练习

    # 反转 reverse# l=['lili','asdf','qwer','80000']# l.reverse()# print(l) # ['80000', 'qwer', 'asdf', 'l ...

  2. 元数据管理的重要性 - xms

    什么是元数据?引用百科的描述就是:元数据(Metadata),又称中介数据.中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息: 看起来有点抽象 ...

  3. python3快速入门教程错误和异常

    Python 中(至少)有两种错误:语法错误(syntax errors)和异常(exceptions). 语法错误 语法错误又称作解析错误: >>> while True prin ...

  4. DBEntry.Net 简介

    [尊重作者:本文转自:http://www.cnblogs.com/lephone/]   这是我设计的一个轻量级的 .Net ORM (Object Relational Mapping) 数据访问 ...

  5. 手动模拟实现Spring IOC功能(基于javaConfig风格)

    以下文中spring特指spring frameWork项目,不含其它:如spring cloud等. 作为刚开始研究spring源码的小白,对于spring两大核心功能之一的IOC,虽说大致了解了B ...

  6. Tensorflow的基本使用

    基本使用 使用 TensorFlow, 你必须明白 TensorFlow: • 使用图 (graph) 来表示计算任务. • 在被称之为 会话(Session)的上下文 (context) 中执行图. ...

  7. 王院生:Apache APISIX 微服务网关极致性能架构解析

    2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...

  8. vue 结合 Echarts 实现半开环形图

    Echarts 实现半开环形图 1.先看看实现的图 2.HTML部分 创建id 是 chart 的div标签. <div class="content-item"> & ...

  9. 1、Docker 简介

    目录 Docker 起源 Docker 架构 特性 局限 名称空间隔离 原理 Control Groups (cgroups) Docker Docker 啥是docker? Docker 是一个开源 ...

  10. 转载一篇关于tab键与focus的文章

    Focusable HTML 元素中,并不是所有元素都可以获得焦点,有如下元素可以获得焦点: a, area, button, input, object, select, textarea,这些元素 ...