# -*- coding: utf-8 -*-
# Generated by Django 1.11.11 on 2018-09-02 08:07
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion

class Migration(migrations.Migration):

dependencies = [
('fault_reporting', '0001_initial'),
]

operations = [
migrations.CreateModel(
name='Comment',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('content', models.CharField(max_length=255)),
('create_time', models.DateTimeField(auto_now_add=True)),
],
options={
'verbose_name': '评论',
'verbose_name_plural': '评论',
},
),
migrations.CreateModel(
name='Fault2Tag',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
options={
'verbose_name': '故障-标签',
'verbose_name_plural': '故障-标签',
},
),
migrations.CreateModel(
name='FaultDetail',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('content', models.TextField()),
],
options={
'verbose_name': '故障详情表',
'verbose_name_plural': '故障详情表',
},
),
migrations.CreateModel(
name='FaultReport',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=80, verbose_name='故障标题')),
('desc', models.CharField(max_length=255, verbose_name='故障简介')),
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='发布时间')),
('modify_time', models.DateTimeField(auto_now=True, verbose_name='最后修改时间')),
],
options={
'verbose_name': '故障总结/故障报告',
'verbose_name_plural': '故障总结/故障报告',
},
),
migrations.CreateModel(
name='LOB',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=32, unique=True, verbose_name='业务线名称')),
],
options={
'verbose_name': '业务线',
'verbose_name_plural': '业务线',
},
),
migrations.CreateModel(
name='Tag',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=32, unique=True, verbose_name='标签名称')),
],
options={
'verbose_name': '标签',
'verbose_name_plural': '标签',
},
),
migrations.CreateModel(
name='UpDown',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('is_up', models.BooleanField(default=True, verbose_name='支持/反对')),
('fault_report', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.FaultReport', verbose_name='故障总结')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户')),
],
options={
'verbose_name': '支持/反对',
'verbose_name_plural': '支持/反对',
},
),
migrations.AddField(
model_name='faultreport',
name='lob',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.LOB', verbose_name='所属业务线'),
),
migrations.AddField(
model_name='faultreport',
name='tags',
field=models.ManyToManyField(through='fault_reporting.Fault2Tag', to='fault_reporting.Tag'),
),
migrations.AddField(
model_name='faultreport',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='发布者'),
),
migrations.AddField(
model_name='faultdetail',
name='fault',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.FaultReport'),
),
migrations.AddField(
model_name='fault2tag',
name='fault_report',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.FaultReport'),
),
migrations.AddField(
model_name='fault2tag',
name='tag',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.Tag'),
),
migrations.AddField(
model_name='comment',
name='fault_report',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.FaultReport', verbose_name='故障总结'),
),
migrations.AddField(
model_name='comment',
name='parent_comment',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='fault_reporting.Comment'),
),
migrations.AddField(
model_name='comment',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AlterUniqueTogether(
name='updown',
unique_together=set([('fault_report', 'user')]),
),
migrations.AlterUniqueTogether(
name='fault2tag',
unique_together=set([('fault_report', 'tag')]),
),
]

django orm 多对多自定义第三张表的更多相关文章

  1. $Django 多对多-自定义第三张表 基于双下划线的跨表查询(补充)

    自定义第三张表的好处:可以定义多个字段, 缺点:查询不方便(有方法解决) 1.第三张表设置外键,联合唯一(查询不方便) class Books(models.Model): name=models.C ...

  2. django 多对多自定义第三张表时的注意事项

    杂交(自定义第三张表+ManyToManyField) # modles.py class Boy(models.Model): name = models.CharField(max_length= ...

  3. Django框架(十一)-- 补充:inclusion_tag、defer、only、choice、事务、创建多对多的第三张表、mvc和mtv模式

    一.inclusion_tag 1.作用 用于生成HTML片段,是数据由参数传入而变成动态 2.使用 # 1.app下新建一个模块,templatetags # 2.创建一个py文件(mytag.py ...

  4. Django框架(十二)—— 补充:inclusion_tag、defer、only、choice、事务、创建多对多的第三张表

    目录 补充:inclusion_tag.defer.only.choice.事务.创建多对多的第三张表 一.inclusion_tag 1.作用 2.使用 二.defer与only 1.定义 2.使用 ...

  5. Django之modles 多对多创建第三张表

    一.第一种:纯自动创建第三张表 纯自动 class Book(models.Model): title = models.CharField(max_length=32) price = models ...

  6. django orm 基于双下划线的跨表查询

    一..基于双下划线的跨表查询(join实现) key:正向查询按字段,反向查询按表明小写 1.一对多跨表查询 查询在跨表中可以有两种方式,正向查询就是关键字段在你要搜索的表,没有关键字段就是反向查询 ...

  7. Django学习——图书管理系统图书修改、orm常用和非常用字段(了解)、 orm字段参数(了解)、字段关系(了解)、手动创建第三张表、Meta元信息、原生SQL、Django与ajax(入门)

    1 图书管理系统图书修改 1.1 views 修改图书获取id的两种方案 1 <input type="hidden" name="id" value=& ...

  8. Python - Django - ORM 多对多表结构的三种方式

    多对多的三种方式: ORM 自动创建第三张表 自己创建第三张表, 利用外键分别关联作者和书,关联查询比较麻烦,因为没办法使用 ORM 提供的便利方法 自己创建第三张表,使用 ORM 的 ManyToM ...

  9. Django之多对多表之through第三张表之InlineModelAdmin后台内嵌

    话不多说,来看表结构 这里有两个表,一个是阶段表,一个是老师表,一个老师可以带多个阶段,一个阶段也可以由多个老师带,所以是多对多关系 # 阶段表 class Stage(models.Model): ...

随机推荐

  1. 20.Add Two Numbers(两个链表的和)

    Level:   Medium 题目描述: You are given two non-empty linked lists representing two non-negative integer ...

  2. Codeforces 316C2 棋盘模型

    Let's move from initial matrix to the bipartite graph. The matrix elements (i, j) for which i + j ar ...

  3. java Sprint boot 学习之一

    <properties> <project.build.sourceEncoding>UTF-</project.build.sourceEncoding> < ...

  4. hdu2068 RPG的错排

    RPG的错排 时间限制:1000/1000 MS(Java / Others)内存限制:32768/32768 K(Java / Others)总提交内容:16421接受的提交内容:6670 问题描述 ...

  5. java消息中间件

    消息中间件介绍   消息队列 什么是消息队列 消息队列是消息中间件的一种实现方式. 什么是消息中间件? 将消息中间件需要理解一下什么是消息和中间件? 消息 消息是指软件对象之间进行交互作用和通讯利用的 ...

  6. Eclipse + Git + 码云

    1. 进入码云个人首页 点击自己的名称即可 2. 添加一个项目 3. 在Eclipse中创建一个本地Git Eclipse不建议git目录创建在项目的目录下,因此另选一个目录作为本地Git目录 选择一 ...

  7. python : No such file or directory

    windows上写的python脚本,在linux上执行时报: No such file or directory 解决方法一# sed -i 's#\r##' mysqlchk.py 解决方法二脚本 ...

  8. php 数据库查询order by 与查询返回的数据类型

    <?php /** * Created by PhpStorm. * User: DY040 * Date: 2017/11/24 * Time: 9:40 * * 从结果集合中读取一行数据 * ...

  9. public class 与 class 的区别

    public class 与 class 的区别 1.一个类前面的public是可有可无的 2.如果一个类使用 public 修饰,则文件名必须与类名一致 3.如果一个类前面没有使用public修饰, ...

  10. iframe高度自适应,自适应子页面高度

    html <iframe id="mainFrame" name="mainFrame" scrolling="no" src=&qu ...