# 文章
class Article(models.Model):
title = models.CharField('标题', max_length=70)
excerpt = models.TextField('摘要', max_length=200, blank=True)
category = models.ForeignKey(Category, on_delete=models.DO_NOTHING, verbose_name='分类', blank=True, null=True)
# 使用外键关联分类表与分类是一对多关系
tags = models.ManyToManyField(Tag, verbose_name='标签', blank=True)
# 使用外键关联标签表与标签是多对多关系
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='操作者')
views = models.PositiveIntegerField('阅读量', default=0)
tui = models.ForeignKey(Tui, on_delete=models.DO_NOTHING, verbose_name='推荐位', blank=True, null=True)
created_time = models.DateTimeField('发布时间', auto_now_add=True)
modified_time = models.DateTimeField('修改时间', auto_now=True) class Meta:
verbose_name = '作业单'
verbose_name_plural = '作业单' 实际生成的mysql表

其中article表

mysql的DDL

CREATE TABLE `les_article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(70) NOT NULL,
`excerpt` longtext NOT NULL,
`views` int(10) unsigned NOT NULL,
`created_time` datetime(6) NOT NULL,
`modified_time` datetime(6) NOT NULL,
`category_id` int(11) DEFAULT NULL,
`tui_id` int(11) DEFAULT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `les_article_category_id_b89e56fb_fk_les_category_id` (`category_id`),
KEY `les_article_tui_id_dfb5096f_fk_les_tui_id` (`tui_id`),
KEY `les_article_user_id_9190afe0_fk_auth_user_id` (`user_id`),
CONSTRAINT `les_article_category_id_b89e56fb_fk_les_category_id` FOREIGN KEY (`category_id`) REFERENCES `les_category` (`id`),
CONSTRAINT `les_article_tui_id_dfb5096f_fk_les_tui_id` FOREIGN KEY (`tui_id`) REFERENCES `les_tui` (`id`),
CONSTRAINT `les_article_user_id_9190afe0_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

其中article_tags表

mysql的DDL

CREATE TABLE `les_article_tags` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`article_id` int(11) NOT NULL,
`tag_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `les_article_tags_article_id_tag_id_ebc98ef0_uniq` (`article_id`,`tag_id`),
KEY `les_article_tags_tag_id_190aec01_fk_les_tag_id` (`tag_id`),
CONSTRAINT `les_article_tags_article_id_d83efe78_fk_les_article_id` FOREIGN KEY (`article_id`) REFERENCES `les_article` (`id`),
CONSTRAINT `les_article_tags_tag_id_190aec01_fk_les_tag_id` FOREIGN KEY (`tag_id`) REFERENCES `les_tag` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

--------------------------------------------------------

class Category(models.Model):
name = models.CharField('业务分类', max_length=100)
index = models.IntegerField(default=999, verbose_name='分类排序') class Meta:
verbose_name = '业务分类'
verbose_name_plural = verbose_name def __str__(self):
return self.name

-------------------------------------------------------------------------------

class Tag(models.Model):
name = models.CharField('作业标签', max_length=100) class Meta:
verbose_name = '作业标签'
verbose_name_plural = verbose_name def __str__(self):
return self.name

----------------------------------------------------

# 推荐位
class Tui(models.Model):
name = models.CharField('推荐位', max_length=100) class Meta:
verbose_name = '推荐位'
verbose_name_plural = verbose_name def __str__(self):
return self.name

--------------------------------------------------------------

class Link(models.Model):
name = models.CharField('链接名称', max_length=20)
linkurl = models.URLField('网址', max_length=100) def __str__(self):
return self.name class Meta:
verbose_name = '友情链接'
verbose_name_plural = '友情链接'



django model设计与实际数据库表的对比的更多相关文章

  1. Hibernate由model类自动同步数据库表结构

    在开发中遇到了个问题,每次测试数据库增加表结构的时候,本地pull下最新代码导致启动报错,上网搜了快速解决办法---->hibernate 配置属性中,hibernate.hbm2ddl.aut ...

  2. Java秒杀简单设计二:数据库表和Dao层设计

    Java秒杀简单设计二:数据库表Dao层设计 上一篇中搭建springboot项目环境和设计数据库表  https://www.cnblogs.com/taiguyiba/p/9791431.html ...

  3. django(八)之数据库表的一对多,多对多表-增删改查

    单表操作 表记录的添加 方式一: Book() b=Book(name="python基础",price=99,author="yuan",pub_date=& ...

  4. django(七)之数据库表的单表-增删改查QuerySet,双下划线

    https://www.cnblogs.com/haiyan123/p/7738435.html https://www.cnblogs.com/yuanchenqi/articles/6083427 ...

  5. 数据库表结构对比同步mysqldiff

    开发服务器的数据库表结构进行了修改,或者修改过多,为了与线上的数据库结构同步,可以使用mysqldiff工具对线上数据库打补丁. mysqldiff Windows下载地址:http://dev.my ...

  6. python Django 之 Model ORM inspectdb(数据库表反向生成)

    在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么 ...

  7. Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'

    from django.db import models # Create your models here. class Category(models.Model): caption = mode ...

  8. Django在根据models生成数据库表时报错

    报错信息: E:\Python\s6day103>python manage.py makemigrations Traceback (most recent call last): File ...

  9. Django在根据models生成数据库表时报错: __init__() missing 1 required positional argument: 'on_delete'

    原因: 在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: __init__() missing ...

随机推荐

  1. ARCGIS10.5安装教程(附完整安装包和汉化包)

    2017年7月,Esri公司发布了arcgis10.5.1版本,该版本的整体界面风格延续了10.0版本的界面风格,新功能介绍详见 http://www.3snews.net/column/252000 ...

  2. Gitlab使用Webhook实现Push代码后的jenkins自动构建

    本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...

  3. azkaban使用--指定executor

    PS:局限,虽然可以指定在一台节点上执行,但是失去了高可用的优势,如果有不同类型的任务建议用多套azkaban 假如二台executor,下图中的4,5,我想将任务运行在hadoop02上,因为只有这 ...

  4. 《Java开发学习大纲文档》V6.0(已经不公布了,请查看第七版)

    <Java开发大纲学习文档第六版>简介: 有需要的私聊作者QQ:253173641.

  5. supervisord的安装使用

    由于生产环境使用的的tomcat,项目比较重要,所以要做进程守护,本来打算自己写脚本,但是效果不理想,想了下还是用supervisord了 由于很久不用,所以写下来部署步骤 第一:安装,安装的方法有y ...

  6. zabbix添加自定义监控项目

    在zabbix里添加一个自定义监控项目,简单做个笔记,怕忘了 首先需要定义 zabbix_agentd.conf  中的 UnsafeUserParameters 修改为 UnsafeUserPara ...

  7. nginx入门之编译安装

    nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...

  8. SpringBoot之Swagger2

    SpringBoot利用Swagger2只需配置少量的注解信息便能方便地构建强大的API文档. 1.添加maven依赖 2.创建Swagger2配置类 3.在API添加文档内容 4.访问http:// ...

  9. CancellationTokenSource 和 CancellationToken 取消线程

    Main 程序[分别调用三个方法] static void Main(string[] args) { using (CancellationTokenSource cts = new Cancell ...

  10. 解题(Solution -4Sum)

    Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar ...