# -*- 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. sqlserver 索引进阶(下)

    参考原文 http://www.cnblogs.com/tjy9999/p/4494799.html 第十级, 索引内部结构 建立索引的目的是加快对表中记录的查找或排序.为表设置索引要付出代价的:一是 ...

  2. python3 sorted()函数笔记

    import randoma=[]for i in range(9): b=random.randint(0,9)#生产9个随机数 a.append(b)#把生成的随机数添加到列表里面print(so ...

  3. TXT文件导入到ORACLE数据库中

    --创建表 (sqlplus执行) drop table cjw; ),phone ),city ),born ),adressJob ),mail )); ### txt导入到oracle cat ...

  4. java线程类图

    Executors创建不同类型的Executor, executor执行不同的runnable task Executor: Runnable:

  5. MSF利用ms17-010漏洞过程记录

    1.使用网上以上一个监测工具,扫描出存在ms17-010的主机地址 2.在kali中使用MSF进行检测,存在mf17-010漏洞 msf > use auxiliary/scanner/smb/ ...

  6. 进入wordpress中的模板文件

    Wordpress的页面结构 一个简单的wordpress由 头部.内容.页脚组成,每个块中的每一个都由当前wordpress主题中模板文件生成. eg: 头:包含重要的信息,一般都是网页的头部. 内 ...

  7. JavaScript base64多图上传

    <div> <form action="/home/Uplod" method="post" enctype="multipart/ ...

  8. js学习笔记 -- 随记

    js不区分整数和浮点数,统一用Number表示, js'=='比较会自动转换类型,会产生奇怪结果,'==='不会转换比较类型,如果不一致返回false,因此js判断始终用'===' `` 保留换行,也 ...

  9. Tomcat在处理GET和POST请求时产生的乱码问题

    最近一直在做关于Servlet的事情,常常出现乱码,很是烦人,处理乱码的方法有时候有效,有时候没有效果,今天抽个时间小结一下,以防以后再出现这种问题. 一般的处理乱码的方式都是用: request.s ...

  10. RTT之柿饼UI

    console.log("strings")//向单片机通过串口发送日志提示信息 this.setData({label1: { value : "Hello RT-Th ...