Django 模型

来源:互联网 发布:网店数据同步系统 编辑:程序博客网 时间:2024/05/21 17:21
在此之前,学习了什么
  • 视图(Views)
  • 模板(Template)
将要学习
  • 模型(Model)
一个框架的诞生,Django的MTV模式
  • Model代表模型,即数据存取层.该层处理与数据相关的所有事务:如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等
  • Template代表模板,即表现层.该层处理与表现相关的决定:如何在页面或其他类型文档中进行显示
  • Views代表视图,即业务逻辑层.该层包含存取模型及调取恰当模块的相关逻辑.是模型与模板之间的桥梁
Django对MVC的解释,VT共同组成V,M是M,C由urls模块负责
正式开始
Django 模型对数据库进行的操作 : 增、删、改、查(排序、限制)
创建一个数据库
create database books;
创建表
  • 打开模型模块 : models.py
  • 创建类 : Book
class Book(models.Model):    title = models.CharField(max_length = 100)    authors = models.ManyToManyField(Author)    publisher = models.ForeignKey(Publisher)    publication_date = models.DateField()    def __unicode__(self):        return self.title
  • 验证模型有效性
python manage.py validate
  • 生成Sql语句
python manage.py sqlall books
  • 执行语句
python manage.py syncdb
添加记录
-) 普通
b = Book(title = 'times',        authors = 'mirlee',        publisher = p,        publisher_date = now,        )b.save()
-) 一步到位
b = Book.objects.create(....)
删除
Book.objects.get(title='more').delete()
更改记录
-) 全部更新
b.title = 'more'b.save()
-) 仅更改部分
Book.objects.filter(id=52).update(title='this')
查询
-) 整个表(获取对象集)
Book.objects.all()
-) 在整个表中按条件查询(数据过滤)
Book.objects.filter(title='times')
-) 一条记录(获取单个对象)
Book.object.get(title='times')
排序
-) 顺序
Book.objects.order_by('title')
-) 逆序
Book.objects.order_by('-title')
-) 定义缺省排序
class Book(models.Model):    title = models.CharField(max_length = 100)    authors = models.ManyToManyField(Author)    publisher = models.ForeignKey(Publisher)    publication_date = models.DateField()    def __unicode__(self):        return self.title    class Meta:        ordering = ['name']
查询+排序
Book.objects.filter(title='times').order_by('-Auther')
限制返回的数据
Book.objects.order_by('title')[0]
:
Book.objects.order_by('title')[0:10]
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 第五人格闪退怎么办 超市买东西多收钱怎么办 王者荣耀换系统怎么办 夹娃娃夹子松怎么办 天猫魔盒遥控器没了怎么办 合约机被骗了怎么办 二手苹果合约机怎么办 手机系统老化了怎么办 手机显示电池老化怎么办 手机移动数据打不开怎么办 武汉移动大王卡怎么办 红米手机卡死了怎么办 红米手机死机怎么办 红米note5装卡大怎么办 手机卡二不显示怎么办 小米手机声音小怎么办 小米4手机屏幕失灵怎么办 安装包证书异常怎么办 安装包出现异常怎么办 红米手机按键失灵怎么办 红米手机内存不足怎么办 红米note2内存不足怎么办 信号强度-98dbm怎么办 小米mix2误触怎么办 指纹功能不能用怎么办 红米手机中毒怎么办 小米4手机卡顿怎么办 红米内存大还卡怎么办 小米6x卡槽小怎么办 红米note砖头怎么办 mi4c不支持4G怎么办 小米手机抢不到怎么办 洗衣机外壳凹了怎么办 塑料手机套变黄怎么办 淘宝上没货了怎么办啊 华为手机音量低怎么办 手机电池冲鼓了怎么办 手机电池起鼓了怎么办 手机信息总提示怎么办 一体机电池不耐用怎么办 血糖偏高怎么办雅培益力佳SR