Django - ORM创建基本类

DBFirst

CodeFirst

创建类

  1、根据类自动创建数据库表

    在app下的models.py中创建表

    创建数据库之前,需要在django下的setting.py模块中的INSTALLED_APPS中,添加要创建表的app名称;

    在app目录下的models.py中,增加代码:

    

    在pycharm命令行中,在Terminal执行命令:

    

    python manage.py makemigrations,执行成功后,会生成下述文件,该文件存储数据库临时文件。

    

    

    执行命令:python manage.py migrate,执行成功后,会直接生成数据库表。

    

     Django默认数据库为sqlite,如需要修改数据库,可以在settings.py下的databases中修改;

     修改方法,参见博客:

      http://www.cnblogs.com/wupeiqi/articles/5237704.html

      DATABASES = {                ‘default‘: {                   ‘ENGINE‘: ‘django.db.backends.sqlite3‘,                    ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),                        }              }    

    注意:在django中,默认连接mysql 时,使用mysqldb,在python3时,该模块已经换为pymysql,所以,需要在

     __init__.py中,增加代码:

      import pymysql

      pymysql.install_as_MYSQLdb()

      #当成是mysqldb一样使用

  2、根据类对数据库表中的数据进行各种操作

    1)、在创建的sqlite中增加数据

      在cmdb的urls.py中,增加url和函数对应关系;

        

        在cmdb下的views.py中,增加代码(创建一条记录时,有2种方法):

         

          

        在url中,以get方式访问:http://127.0.0.1:8000/cmdb/orm/后,程序会在sqlite中,增加数据;

        

      备注:

        创建数据时,还支持以下这方式,该方式可以理解为第一种方式的一个变种:

        

   2)、在sqlite中查找数据

      

        备注:以上查找到的row,为一个queryset对象,所以,显示各列中的值时,需要用对象.值的方式来显示;

        

        

          

          

  

        

原文地址:https://www.cnblogs.com/wulafuer/p/9318794.html

时间: 2024-08-08 15:43:55

Django - ORM创建基本类的相关文章

Django ORM创建数据库

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python manage.py runserver 0.0.0.0 python manage.py st

django ORM创建

简短的例子 from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) 上面的Person 模型会在数据库中创建这样一张表: CREATE TABLE myapp_person ( "id" serial NOT NULL PRIMARY KEY, &quo

在Django中使用ORM创建图书管理系统

一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等)会有点区别, 因此直接在你的项目中使用sql语句的话,不便于以后的修改,万一更换了数据库,那所有sql语句不就要重新写吗? 所以这个时候ORM就体现出优点了,你只需要写ORM的代码,它就会根据你连接的数据库自动帮你翻译成对应的sql语句, 也就是说无论你使用的是mysql还是oracle,ORM操

Django orm关系表的创建 、路由层以及视图层

一.Django 表关系的创建 1.表的对应关系 一对多 多对多 一对一 2.如何判断表的对应关系 利用换位思考的方式,分别站在两张表的角度上去思考 这里比如我们以图书管理系统为例来创建几个简单的表 图书表 出版社表 作者表 为了方便演示,这里我们就强行规定了表之间的关系: 图书和出版社是一对多的外键关系,一对多外键关系 将外键字段建在多的哪一张表上 图书与作者之间是多对多的外键关系,多对多的外键关系 外键字段无论建在那张表都可以,但是推荐你建在查询频率高的那张    表上 作者与作者与作者详情

数据库表反向生成(二)django ORM inspectdb

在前一篇我们说了,mybatis-generator反向生成代码. 这里我们开始说如何在django中反向生成mysql model代码. 我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码. 正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表. 反向生成,指的是先在数据库中create table,然后通过django内置的编译器,生成model代码. 1.准备工作 创建django工程以及

Django ORM模型的一点体会

作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational mapping)模型.这个ORM模型的设计比较简单,学起来不会特别花时间.不过,Django的ORM模型有自己的一套语法,有时候会觉得别扭.这里聊一下我自己的体会. 模型设计 这一部分算处理得比较好的部分.Django的数据模型的建立过程很简单,就是继承django.db.models中的Model类,

[Django]orm中的外键级联删除

这里的系统环境为django1.6   os为win7 今天有个需求说的是添加一个地区表,然后用外键和几个非常重要的实体表来做关联(地区表作为其他表的外键),写完地区的删除操作的时候,测试了下代码,功能正常.可是眼睛移动到控制台输出的时候傻了 connexesql ->DELETE FROM `mngm_device` WHERE `mngm_device`.`area_id` IN (%s, %s, %s) connexesql ->DELETE FROM `ad_ad` WHERE `ad

django orm总结

目录1.1.1 生成查询1.1.2 创建对象1.1.3 保存修改的对象1.1.4 保存 ForeignKey 和 ManyToManyField 字段1.1.5 检索对象1.1.6 检索所有的对象1.1.7 过滤检索特定对象1.1.8 链接过滤1.1.9 过滤结果集是唯一 1.2.1 结果集是延迟的 1.2.2 其他的QuerySet方法1.2.3 限制 QuerySets1.2.4 字段查找1.2.5 跨关系查询1.2.6 过滤器可参考模型字段1.2.7 缓存查询集1.2.8 比较对象1.2.

深入Django ORM的继承关系

ORM中通常将对象引用映射到外键,但是对于继承,关系数据库中没有自然有效的方法来对应.从数据存储的角度来看,在映射继承关系时,可以采用几种方式(参考JPA中的InheritanceType.定义): 使用单个表,在JPA中称作SINGLE_TABLE.整个继承树共用一张表.使用唯一的表,包含所有基类和子类的字段. 每个具体类一张表,在JPA中称作TABLE_PER_CLASS.这种方式下,每张表都包含具体类和继承树上所有父类的字段.因为多个表中有重复字段,从整个继承树上来说,字段是冗余的. 每个