Python日记——model的使用
来源:互联网 发布:招工软件 编辑:程序博客网 时间:2024/05/18 20:48
学习使用model主要掌握以下几点
- 数据库配置
- 命令行操作
- 新建model
- model的增删查改
- manager的使用
- 后台页面管理model
1.首先是数据库配置
一般新建的django项目都是配置为sqlite为数据库
通常项目中都会使用MySQL
所以首先修改配置
在project的settings.py里修改
将原来配置sqlite改为自己的属性
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'USER':'root', 'PASSWORD':'', 'NAME':'djangouse', 'HOST':'localhost', }}
USER填MySQL的用户名
PASSWORD填MySQL的密码
NAME填所使用的数据库的名字,这个要自己到MySQL里创建
注意:使用model前记得把MySQL打开
2.在新版的django中命令行有了很大的变化
关于model的主要有以下几句命令
- python manage.py check 检查model是否有拼写错误
- python manage.py makemigrations 将model的改变生成一个迁移文件
- python manage.py migrate 执行迁移
通常在创建好app和数据库之后
首先执行
python manage.py migrate
会生成一些管理的表
3.之后是新建model
首先要导入models包
在app的models.py里添加
from django.db import models
class Book(models.Model): title=models.CharField(max_length=100) def __unicode__(self): return self.title
这个Book的model有一个title字段最大长度为100
unicode这个方法是返回的是查询到这个Object时显示的内容,默认显示为Object
然后就是依次执行
python manage.py check 检查model是否有拼写错误python manage.py makemigrations 将model的改变生成一个迁移文件python manage.py migrate 执行迁移
然后查询所使用的数据库会发现多了一个名字含有book的表
4.接下来是model的增删查改
增
book=Book(title="hello django")book.save()
删
book=Book.objects.get(id=1)book.delete()
获取id为1的对象后执行delete方法
查
book=Book.objects.all()
查询全部Book对象,返回一个集合
book=Book.objects.get(id=1)
获得id为1的Book对象
book=Book.objects.filter(title__icontains="hello")
获得title字段里含有hello的Book对象集合
改
book=Book.objects.get(id=1)book.title="django"book.save()
5.接下来的model的进阶使用——manager
manager是对model一些常用方法的封装
有获得数值的,也有获得对象集合的
看看获得数值的manager怎么创建
在app里的model.py里新建一个继承自models.Manager的类
class BookManager(models.Manager): def get_book_count(self,keyword): return self.filter(title__icontains=keyword).count()
然后把manager添加进model
class Book(models.Model): title=models.CharField(max_length=100) myobjects=BookManager()
使用的时候是
count=Book.myobjects.get_book_count("hello")
这样就返回了名字含有book对象的数量
如果想获得一个有特殊条件对象集合呢?
新建一个manger
class PythonManager(models.Manager): def get_query_set(self): return super(PythonManager,self).get_query_set().filter(title__icontaions='hello')
把manager添加进model
class Book(models.Model): title=models.CharField(max_length=100) myobjects=BookManager() pyhton_objects=PythonManager()
用的时候是
queryset=Book.pyhton_objects.get_query_set()
这样就返回了名字含有hello的Book对象集合
6.接下来是用后台页面管理model
首先要在终端输入
python manage.py createsuperuser
创建管理员用户
然后就到http://127.0.0.1:8000/admin/登录后即可管理model
- Python日记——model的使用
- python日记——使用django心得
- Java日记——将Map转为Model的底层实现
- PHP日记——Lavarel常用语句之Model篇
- HTK model转Kaldi model实录——convert_htk的使用
- Python日记——Django模板的渲染
- 我的Python日记(小白篇)——关于文件
- Python shell中使用自己写的model
- python学习——编写Model
- Jena使用教程—RDF Model使用
- model的使用
- oracle model的使用
- python日记——数据库操作
- python学习日记——1
- C日记——泛型的使用
- html日记——使用强大的BootStrap(1)
- html日记——使用强大的BootStrap(2)
- html日记——使用强大的Bootstrap(3)
- vi编辑器基本命令
- 关于C语言的main函数
- 《Linux高级程序设计》实例代码纠错
- 关于Linux多进程
- Eclipse快捷键 之 代码追踪
- Python日记——model的使用
- 在JavaScript中创建对象
- MVC架构理解
- Windows基本磁盘结构简析(一)——MBR和GPT分区
- Windows基本磁盘结构简析(二)——MBR结构分析
- Windows基本磁盘结构简析(三)——逻辑分区
- Windows基本磁盘结构简析(四)——GPT磁盘
- HTML5初体验
- 备份还原后的系统启动修复