Code前端首页关于Code前端联系我们

Django蠕虫中的get和filter有什么区别?如何操作已有的表结构

terry 2年前 (2023-09-24) 阅读数 56 #后端开发

Django的ORM中get和filter的区别

Get获取的是一个模型对象,而filter获取的是一组模型对象。类型为queryset,由Django定义。 Iterable,可以认为是一个列表操作,每个索引都是一个模型对象。
get 如果满足多个条件,就会报错
#类似如下:
get 相当于 fetchone()
filter相当于 fetchall()

django orm就像你现在做的一些表结构操作

django orm 如何操作已有的表结构
首先你需要知道如何在视图中渲染模板,同时也取决于你使用的是哪个数据库,如果您使用的是 django 的 orm 。
以mysql为例。如果您只需要从现有数据库查询数据并显示它,请使用 MySQLdb 模块。渲染请求的数据和模板,然后返回渲染后的模板对象。
sqlalchemy的使用有两个层次。第一种是使用sql表达式,它允许你用python编写sql。另一个是ORM。 ORM 使用会话。它自己管理会话生存期,并在多个进程中自行处理。通过会话并自行管理交易。编写方式就是通常的事务脚本(Java中常说的贫血领域模型)模式。实际编码通常是 1 和 2 编程的混合。
Django 通过中间件部分隐藏了连接/事务管理的概念。写法也比较简单,接近Java中经常提到的重载域模型。内容没有sqlalchemy的SQL表达水平。易用性就体现出来了。

但是在我用过的ORM中,能达到sqlalchemy级别的ORM在其他语言中还没有见过。 Ruby 的 sequal 和 Java 的 jooq 都有sqlalchemy的想法。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门