简介:许多朋友问有关Django中使用的ORMS的问题。首席执行官在本文中注明将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
在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()
每个都有自己的好处。如果您使用的是django,那么orm随附django必须是最合适的。如果您使用的烧瓶等等,那么Sqlalchemy无疑是最好的选择。
从个人的角度来看,我更喜欢Django的ORM。
此外,我建议“刘江的博客和教程”。车站所有者致力于共享与Python和Django相关的博客和教程。内容是全面的,在深入的探索性解释中,更符合民族口味和值得一看!
Sqlalchemy使用两个级别。1是使用SQL表达式。坦率地说,您可以让您在Python中编写SQL。2是它的ORM。ORM使用会话。它可以在多个过程中管理会话和通过会话。操作业务自己。写作是通常的事务脚本(域模型通常称为贫血)。实际上的编码通常与1和1混合。
Django通过中间件的中部隐藏了连接/交易管理的概念,并且写作相对简单。它接近爪哇交通拥堵的交通拥堵。内容中没有SQL表达式级别。
但是,在可用于达到Sqlalchemy高峰的ORM中,它没有以其他语言看到。Ruby具有Sqlalchemy的阴影。
Django于2005年发行。它是当前Python世界上最负盛名,最成熟的网络框架。该网站最初用于制作在线新闻。
Django是用Python编写的开源代码的Web应用程序框架。它使用MVC框架模式。许多人称其为MVT模式。
优势:
完整的功能和完整的元素:具有大量常用的工具和框架,适合快速开发企业级别的网站;
完美文档:经过十多年的开发和改进,Django有广泛的实用案例和完美的在线文件,开发人员可以寻找在线文件以寻求解决方案;
功能强大的数据库访问组件:带有数据库ORM组件的Django模型层,以便开发人员可以在不学习SQL语言的情况下操作数据库;
高级应用设计概念:应用程序可插入,这是一个难得的想法,您可以直接删除它,并且不需要系统的整体影响;
使用桌面管理系统管理员梳理:您只需要使用几行配置和代码即可获得完整的背景数据管理控制平台。
缺点:
大包装:与烧瓶框架相比,Django不够轻,包括功能过多;
过多的包装:许多类别和方法被封装,直接使用相对易于使用,这很难更改;
性能劣势:Django性能较低;
模板问题:Django的模板被代码和样式完全分开。Python代码不允许模板。对于某些程序员来说,灵活性可能还不够。
结论:以上是首席CTO注释给您的Django的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住要收集对该网站的关注。