django2.0 models.py基本用法

本文介绍了Django ORM的基础知识,包括ORM的概念和优势,以及如何创建ORM模型。通过实例展示了在models.py中定义模型,如CharField、FloatField等字段类型,并详细讲解了数据库迁移的过程,包括makemigrations和migrate命令的使用。
摘要由CSDN通过智能技术生成

ORM模型

在写models.py基本用法之前,我们先来了解一下自己的的写的sql缺点
随着我们写的项目越来越大,如果还继续使用原生sql语句去写的话,那么将会出现以下问题:

  • SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句。
  • 很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改。
  • 自己写的sql语句可能安全性不高,容易造成sql注入等web安全问题。

ORM简介

ORM全称为Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句。通过把表映射成类,把行作实例,把字段作为属性(以下会有解释),ORM在执行对象操作的时候最终还是会把对应的操作转换为数据库原生语句。

创建ORM模型

前奏

老规矩,先创建一个项目吧:

(my_env) F:\ENV>django-admin startproject model_test

然后创建一个app(name:book)

(my_env) F:\ENV\model_test>python manage.py startapp book

使用pycharm打开项目,项目目录如下:

F:.
│  manage.py
│
├─.idea
│  │  misc.xml
│  │  model_test.iml
│  │  modules.xml
│  │  workspace.xml
│  │
│  └─inspectionProfiles
│          profiles_settings.xml
│
├─book
│  │  admin.py
│  │  apps.py
│  │  models.py
│  │  tests.py
│  │  views.py
│  │  __init__.py
│  │
│  └─migrations
│          __init__.py
│
└─model_test
    │  settings.py
    │  urls.py
    │  wsgi.py
    │  __init__.py
    │
    └─__pycache__
            settings.cpython-36.pyc
            __init__.cpython-36.pyc

现在创建一个数据库(name:model_test),推荐使用Naicat(因为简单),新建号之后,我们任何表都没有,不要着急,接着来。
打开settings.py文件,修改数据库配置:

DATABASES = {
   
    'default': {
   
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'model_test',
        'USER': 'root',
        'PASSWORD': '自己的mysql密码'
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值