当前位置: 首页 > 网络应用技术

Django中的ORM是什么(2023年的最新答案)

时间:2023-03-06 15:35:28 网络应用技术

  简介:今天,首席执行官Note将与您分享Django中的ORM。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  Django的ORM差异和过滤器之间的差异

  获取模型对象。过滤器获取一组模型对象。类型是QuerySet。它由django定义,并迭代。它可以用作列表操作。每个索引是一个模型对象。如果符合多个条件,它将报告错误。

  龙卷风是一个异步框架

  龙卷风基本上只有MVC中的C层,Django很大且完整

  因此,Django通常适合初学者或小型团队,龙卷风适合高度定制。

  Django基于Python的免费和开源代码Web框架。它遵循Model-Template-View(MTV)体系结构模式。它由Django Software Foundation(DSF)维护,该基金会是由非营利组织建立的独立组织。

  Django的主要目标是简化复杂,数据库驱动的网站的创建。此框架强调组件的重复性和“可插入”,更少的代码,低耦合,快速开发,不重复其自己的原理。使用Python,甚至用于设置文件和数据模型。Django还提供可选的管理创建,读取,更新和删除接口。该界面是由该省动态生成的,并通过管理模型进行了配置。

  使用Django的一些知名网站包括公共广播服务,Instagram,Mozilla,Washingta,Disqus,Bitbucket和Nextdoor。

  Django成立于2003年秋季。当时,劳伦斯每日报纸互联网程序员Adrian Holovaty和Simon Willison开始使用Python来构建申请。django的开发。它于2005年7月在BSD许可证下公开发布。该框架以吉他手Django Reinhardt.S命名,2008年6月,新成立的Django软件基金会(DSF)将来将维持Django。

  2015年7月,Django Co -Founders和Django Co -Founders和Developers的一些Django Co -Founders和开发商举行了10周年纪念活动,在劳伦斯举行了10周年纪念活动。

  Django的设计概念如下:

  松动-django的目标是使堆栈中的每个元素独立。

  较少编码的无代码,因此可以快速开发。

  不要重复自己(干燥) - 一切都应在一个地方开发,不要一次又一次地重复。

  快速开发-Django的概念是完成可能促进超快速发展的所有事情。

  简单设计-Django严格按照自己的代码维护简单的设计,并且很容易遵循最佳的Web开发实践。

  Django的一些优点如下:

  对象关系映射(ORM)支持-django在数据模型和数据库引擎之间建立桥梁,并支持大量数据库系统,包括MySQL,Oracle,Postgres,Ett。

  多语言支持-Django通过其构建的国际系统支持多语言网站。因此,您可以开发支持多种语言的网站。

  Framework支持-Django已建立-Ajax,RSS,Cache和其他各种框架的支持。

  GUI - Django为管理活动提供了一个良好的用户界面。

  开发环境-Django具有轻巧的Web服务器,可促进末端到端应用程序的开发和测试。

  Django是Python Web框架。就像大多数现代框架一样,Django支持MVC模式。

  对于Python的基本问题,您可以看到此网页,Web链接的视频教程,希望我的答案能为您提供帮助。

  在Django中,管理数据库类似于SQLARCHEMY,并通过ORM框架实现。所有数据库的建立均在Model.py中实现。

  首先查看如何创建一个表:

  A。首先定义类,继承模型。模型,然后根据要求定义参数。这些参数的类型和变量将在以后进一步说明

  模型

  来自django.db导入模型

  类UserInfo(models.model):

  用户名= models.charfield(max_length = 32)

  密码= models.charfield(max_length = 64)

  b。注册应用程序

  settings.py

  instasted_apps = [[[

  ‘django.contrib.admin’,

  ‘django.contrib.auth’,

  ‘django.contrib.contenttypes',

  'django.contrib.sessions',

  ‘django.contrib.messages',

  ‘django.contrib.staticfiles’,

  “ app01”,

  这是给予的

  C。execute命令。第一个命令将生成一个初始化文件,第二个命令将生成相应的表

  python manage.py makemigrations

  python manage.py迁移

  这样,PyCharm随附的SQLite数据库中成功生成了App01_userinfo的表。该表将以自我信息为主键,而我们的其他两个字段由我们通过类创建。

  d。如果要使用MySQL,因为Django默认使用MySQLDB模块,因此在版本3.0中不存在此错误,因此它将直接报告错误。我们需要更改为PymySQL的模块。该方法如下:

  将以下代码添加到同名文件夹的文件夹下的__init__文件:

  导入pymysql

  pymysql.install_as_mysqldb()

  2.查询添加,删除,更改单个表的查询

  查询

  获取所有结果,获得的结果是类似QuerySet列表的对象。每个元素本身都是一个对象,包括ID,名称,密码和其他属性。

  obj = model.userinfo.objects.all()

  querySet [UserInfo:UserInfo对象,UserInfo:UserInfo对象,UserInfo:UserInfo对象,UserInfo:UserInfo Object,userInfo:userInfo:userInfo Object]

  它可以通过过滤器过滤,这相当于SQL的语句,因为结果也是querySet,因此您需要使用第一个()来获取第一个值

  obj = model.userinfo.objects.filter(id = nid).first()

  增加

  models.userinfo.objects.create(用户名= u,password = p,user_group_id = 3)

  删除,您可以根据过滤器删除它

  models.userinfo.objects.filter(id = nid).delete()

  有两种常见的修改方法

  第一条方法

  models.userinfo.objects.filter(id = nid).update(用户名= u,password = p)

  第二种方式

  obj = model.userinfo.objects.filter(id = nid)

  obj.username = u

  obj.save()

  Sqlalchemy使用两个级别。1是使用SQL表达式。坦率地说,您可以让您在Python中编写SQL。2是它的ORM。ORM使用会话。它可以在多个过程中管理会话和通过会话。操作业务自己。写作是通常的事务脚本(域模型通常称为贫血)。实际上的编码通常与1和1混合。

  Django通过中间件的中部隐藏了连接/交易管理的概念,并且写作相对简单。它接近爪哇交通拥堵的交通拥堵。内容中没有SQL表达式级别。

  但是,在可用于达到Sqlalchemy高峰的ORM中,它没有以其他语言看到。Ruby具有Sqlalchemy的阴影。

  结论:以上是首席CTO注释为每个人编写的Django中ORM的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。不要忘记在此网站上找到它。