话不多说,来看表结构 这里有两个表,一个是阶段表,一个是老师表,一个老师可以带多个阶段,一个阶段也可以由多个老师带,所以是多对多关系 # 阶段表 class Stage(models.Model): name=models.CharField( max_length=20, verbose_name='阶段名称' ) def __str__(self): return self.name class Meta: verbose_name_plural='阶段' # 教师表 class Teach…
一.常用字段和非常用字段 二.手动,自动创建第三张表 三.元信息 四.defer和only 一.常用字段和非常用字段 -常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范围在 -2147483648 to 2147483647. CharField 字符类型,必须提供max_length参数, max_length表示字符长度. DateField…
一.inclusion_tag 1.作用 用于生成HTML片段,是数据由参数传入而变成动态 2.使用 # 1.app下新建一个模块,templatetags # 2.创建一个py文件(mytag.py) # 3.导入Library模块,实例化 from django.template import Library register=Library() # -----> register名字一定不能变 # 4.写装饰器(标签,过滤器,inclusion_tag) @inclusion_tag('模…
目录 补充:inclusion_tag.defer.only.choice.事务.创建多对多的第三张表 一.inclusion_tag 1.作用 2.使用 二.defer与only 1.定义 2.使用 3.注意点 三.事务 1.原子性操作 2.语法 四.choice 1.定义 2.使用 五.多对多创建第三张表 1.多对多的操作 2.三种方法创建第三张表 补充:inclusion_tag.defer.only.choice.事务.创建多对多的第三张表 一.inclusion_tag 1.作用 用于…
1 图书管理系统图书修改 1.1 views 修改图书获取id的两种方案 1 <input type="hidden" name="id" value="{{ book.nid }}"> 2 <form action="/update_book/?id={{ book.nid }}" method="post">{% csrf_token %} 1.2 路由urls 1.3 前端模板…
自定义第三张表的好处:可以定义多个字段, 缺点:查询不方便(有方法解决) 1.第三张表设置外键,联合唯一(查询不方便) class Books(models.Model): name=models.CharField(max_length=32) price=models.DecimalField(max_digits=6,decimal_places=2)class Zuozhes(models.Model): name=models.CharField(max_length=32) sex=…
一.第一种:纯自动创建第三张表 纯自动 class Book(models.Model): title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8, decimal_places=2) authors = models.ManyToManyField(to='Author') class Author(models.Model): name = models.CharField(max_le…
杂交(自定义第三张表+ManyToManyField) # modles.py class Boy(models.Model): name = models.CharField(max_length=32) class Girl(models.Model): name = models.CharField(max_length=32) m = models.ManyToManyField('Boy',through='Love',through_fields=('b','g')) # 只让其生成…
配置以下两处,可以方便我们直接右键运行tests.py一个文件,实现对数据库操作语句的调试: settings里面的设置: #可以将Django对数据库的操作语法,能输出对应的的sql语句 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': {…
目录 一.多对多第三张表的创建 1. 全自动方式 (1)实现代码 (2)优点和不足 2. 纯手撸方式(了解) (1)实现代码 (2)优点和不足 3. 半自动方式(推荐使用) (1)实现代码 (2)优点和不足 二.forms组件 1. forms组件的3大作用 2. 渲染标签 (1)前端渲染标签的3种方式 (2)后端写法 (3)forms基本使用实例: 3. 校验数据 4. 展示错误信息 三.forms组件的校验条件和错误信息 1. 校验条件和错误信息的书写 2. 其他校验数据的方式 (1)HOO…