models 其实也没什么好说的,就是普通的 python 类

settings 中配置数据库连接

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '',
}
}

定义自己的 models

class User(models.Model):
class Meta:
verbose_name = u'用户'
verbose_name_plural = u'用户'
db_table = 'user' user_name = models.CharField(verbose_name=u'用户名', max_length=100)
pass_word = models.CharField(verbose_name=u'密码', max_length=100) def __str(self):
return self.user_name class Article(models.Model):
class Meta:
verbose_name = u'文章'
verbose_name_plural = u'文章'
db_table = 'article' title = models.CharField(verbose_name=u'标题', max_length=200)
content = models.TextField(verbose_name=u'内容')
create_time = models.DateTimeField(verbose_name=u'创建时间', auto_now_add=True)
last_modified = models.DateTimeField(verbose_name=u'最后修改时间', auto_now=True) def __str__(self):
return self.title class Comment(models.Model):
class Meta:
verbose_name = u'评论'
verbose_name_plural = u'评论'
db_table = 'comment' content = models.TextField(verbose_name=u'评论内容')
article = models.ForeignKey(Article, verbose_name='文章')
user = models.ForeignKey(User, verbose_name=u'评论人') def __str__(self):
return self.content[0:20]

执行 migrate 生成数据库表

python manage.py makemigrations
python manage.py migrate

python manage.py sqlmigrate app_name migrate_file_name  可以显示生成的 sql

其它的细节,还有怎么配置多操作多数据库等,直接参考官方文档就行了。

还有  MySQLdb 不支持 python3,  python3 中请使用  PyMySQL

把下面两句话放到你 app 的  __init__.py 中就行了

import pymysql
pymysql.install_as_MySQLdb()

django notes 五:Writing models的更多相关文章

  1. django notes 四: Writing views

    views 其实没什么可看的, 在  django  中 views 就是 controller, 是处理请求的, 就是一个普通的 python 方法. 一般从 request 中提取请求参数, 然后 ...

  2. Django基础五之django模型层(二)多表操作

    一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...

  3. 06.Django基础五之django模型层(二)多表操作

    一 创建模型 表和表之间的关系 一对一.多对一.多对多 ,用book表和publish表自己来想想关系,想想里面的操作,加外键约束和不加外键约束的区别,一对一的外键约束是在一对多的约束上加上唯一约束. ...

  4. day 70 Django基础五之django模型层(二)多表操作

    Django基础五之django模型层(二)多表操作   本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...

  5. day 69 Django基础五之django模型层(一)单表操作

    Django基础五之django模型层(一)单表操作   本节目录 一 ORM简介 二 单表操作 三 章节作业 四 xxx 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现 ...

  6. day 57 Django基础五之django模型层之关联管理器

    Django基础五之django模型层之关联管理器   class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况 ...

  7. day 56 Django基础五之django模型层(二)多表操作

    Django基础五之django模型层(二)多表操作   本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...

  8. day 55 Django基础五之django模型层(一)单表操作

      Django基础五之django模型层(一)单表操作   本节目录 一 ORM简介 二 单表操作 三 章节作业 四 xxx 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它 ...

  9. Django基础五之Ajax

    Django基础五之Ajax 目录 Django基础五之Ajax 1. Ajax介绍 2. Ajax前后端传值 2.1 方法一HttpResponse直接返回 2.2 方法二使用Json格式返回 2. ...

随机推荐

  1. Understanding String Table Size in HotSpot

    In JDK-6962930[2], it requested that string table size be configurable.  The resolved date of that b ...

  2. Vivado安装教程

    Vivado的各个版本的安流程其实都差不多,本教程用Vivado2016.4为例进行安装,同样适用于之前和之后的各个版本. 下载好安装包后打开,双击xsetup.exe运行安装程序 弹出的窗口,提示现 ...

  3. java程序练习

    数组求和作业 开发环境:java 工具:eclipse 两种数据类型excel和csv 在同学建议下,我选择用csv文件打开,这就引来了第一个问题,在java中如何调用csv文件.以下是我百度的结果 ...

  4. 利用ROW_NUMBER中的partition by 删除重复Key的数据

    With temp As ( Select ROW_NUMBER() over(partition by LogisticsPlan order by createon) rowID,ID from ...

  5. mdadm 软RAID

    mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令.但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的自身缺陷(不能用作启动分区.使用C ...

  6. Amazon新一代云端关系数据库Aurora(下)

    本文由  网易云发布. 作者:郭忆 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 故障恢复 MySQL基于Check point的机制,周期性的建立redo log与数据页的一致点.一旦数据库 ...

  7. Linux 服务器上安装Webmin

    1.登陆到服务器 2.新建一个文件夹来保存webmin,建议在个人用户下新建., 3.下载Webmin的安装文件, 命令是: wget http://prdownloads.sourceforge.n ...

  8. 【12c OCP】最新CUUG OCP-071考试题库(52题)

    52.(12-11) choose the best answer: Examine the structure and data in the PRICE_LIST table: You plan ...

  9. 关于OI中简单的常数优化

    有些东西借鉴了这里qwq 1.IO(istream/ostream) 输入输出优化 之后能,在赛场上常见的几种输入输出: 输入: $1.cin$ 呵呵,不说什么了,慢的要死.大概$1e8$个数要读1分 ...

  10. Mac上使用oh-my-zsh+iterm2

    一.安装oh-my-zsh插件 1.1 下载 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 1.2创建新配置 如 ...