Django中ORM的使用

ORM

orm(object-relation-mapping)对象关系映射,即用对象来表示关系数据库中的表:

类 --> 表,

对象-->一行数据

对象的属性-->一行属性的一个字段

比如说一个用户信息表:

class User:
def __init__(self,name,age):
self.name = name
self.age = age

这样我们就定义了一个类,有name和age属性,之后我们每创建一个对象都有一个自己的name和age值,就好比我们创建了一个表格,有name和age字段,每一行数据都有自己的name和age。

那么我们怎么在Django中应用呢,首先,Django使用了MVT模型,即:模型、视图、模板,相较于MVC(模型-视图-控制器)而言,其中MVT中的T(templates)和MVC中的V(views)都表示一种可以看得见的一种数据渲染图,而MVT(views)和MVC中的C(controls)都表示一种逻辑,即当浏览器请求的时候服务器该怎么返回数据,最后,MVT中的M(models)和MVC中的M(models)都表示数据存储部分,即数据库。

于是,如果我们需要创建表格就要创建类,就要在modles.py中创建,如下:

from django.db import models

# Create your models here.

class User(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)

其中CharFiled相当于数据库中的varchar,与之对应的还要Decimal、Datatime等等。

接下来就是我们要把数据存储在哪个数据库了,好在Django自己生成了一个db.sqlite3文件,那么接下来我们就要去setting.py文件中去配置数据库,如下:

然后就需要打开我们的sqlite数据库文件看看了,这里,我们如果使用pycharm,可以按如下操作:

点击侧边那里

选择类型

点击图标

找到sqlite3文件然后应用。

此时发现:

中并没有user表,这时,我们需要再执行两条终端命令:

打开终端

第一条命令:python manage.py makemigration

第二条命令:python manage.py migrate

然后刷新:

就可以看到表格了,双击就可以进行编辑啦!!!

最新文章

  1. 关于Linux下转换oracle字符集
  2. STL
  3. UITableView的cell重用优化
  4. WPF PopupNonTopmost重写
  5. socketlog
  6. nn package
  7. PHP代码安全学习笔记V1.0
  8. IPv6 tutorial 3 New features: IPsec and LAN features
  9. SQL Sever MYSQL 视图实现的 2 种方式
  10. aliyun硬盘挂载
  11. 在CodeBlocks 开发环境中配置使用OpenCV (ubuntu系统)
  12. MySql绿色版配置及使用详解
  13. opencv基础到进阶(2)
  14. vue.js之组件(上篇)
  15. Hangfire使用ApplicationInsigts监控
  16. JMeter入门(03)多台JMeter联合测试
  17. docker镜像保存及导出(save,export)
  18. java多线程(2)---生命周期、线程通讯
  19. Series 和 Dataframe 的 rank 方法
  20. VS遇到的问题记录

热门文章

  1. 精尽MyBatis源码分析 - 插件机制
  2. CF453C Little Pony and Summer Sun Celebration
  3. canal部署
  4. Error response from daemon: driver failed programming external connectivity on endpoint mysql3308 (
  5. 一枚程序猿的MacBook M1详细体验报告
  6. 在执行gem install redis时 : ERROR: Error installing redis: redis requires Ruby version >= 2.2.2
  7. PyQt(Python+Qt)学习随笔:Qt Designer中部件的toolTip、toolTipDuration、statusTip、whatsThis属性
  8. python 练习洗牌
  9. Python接口测试-使用requests模块发送post请求
  10. Python术语对照表