首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Django测试中,为什么我需要使用<Model>.objects.get()而不是<Model>.objects.create()返回的内容?

在Django测试中,使用<Model>.objects.get()而不是<Model>.objects.create()返回的内容,是因为这两个方法在功能和使用方式上有所不同。

<Model>.objects.get()是用于获取数据库中符合特定条件的单个对象。它接受一个或多个关键字参数作为过滤条件,并返回满足条件的单个对象。如果没有找到符合条件的对象,它会抛出<Model>.DoesNotExist异常。

<Model>.objects.create()是用于创建并保存一个新的数据库对象。它接受一个或多个关键字参数作为对象的属性值,并返回创建的对象实例。它会自动将对象保存到数据库中。

在测试中,我们通常需要获取已经存在于数据库中的对象进行断言和验证。使用<Model>.objects.get()可以方便地获取指定条件的对象,以便进行后续的测试操作。而使用<Model>.objects.create()则会创建一个新的对象,并将其保存到数据库中,这可能会干扰测试环境的数据状态,导致测试结果不准确。

因此,在Django测试中,为了确保测试的准确性和可重复性,我们通常使用<Model>.objects.get()来获取已存在的对象,而不是使用<Model>.objects.create()

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django 操作MySQL数据库

---- 相关内容 MySQL安装 https://blog.csdn.net/qq_59636442/article/details/123058454 一、配置数据库(修改settings.py...配置信息) # 数据库配置 # 注释或删除默认数据库(sqlite)配置 # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3...) pip3 install pymysql 三、models.py(数据模块,用于数据库设计) 1、创建一个用户表 from django.db import models # 需要创建应用 # Create...) python3 manage.py makemigrations 2、执行迁移文件(终端执行如下命令) python3 manage.py migrate 五、增删改查 1、增加数据 #类名.objects.create...只有提交后才会被修改 4、查询数据         获得单条数据 #类名.objects.get(字段=值) sql = Users.objects.get(phone_number="888")#查不到不到会报错

33410

Sentry 开发者贡献指南 - Django Rest Framework(Serializers)

内容整理自官方开发文档 目录 Django Rest Framework 示例 用法 Model Serializer 更多 Serializer 用于获取复杂 python 模型并将它们转换为 json...https://www.django-rest-framework.org/ 示例 典型 serializer ,指定了字段,以便它们根据您规范验证数据类型和格式。...取 serializer.object,它只是经过验证数据(如果 serializer.is_valid() 返回 False,则为 None) 并使用 .objects.create...get_attrs 方法 当 Django Rest Framework 具有类似功能时,为什么要这样做? get_attrs 方法就是原因。它允许您执行批量查询不是多个查询。...我们示例可以过滤想要 item,并使用 python 将它们分配给相关 item, 不是调用 ExampleTypes.objects.get(...) 多个 item。

1.1K30

Django models filter筛选条件详解

())表示为时间 =now,q1.exclude(pub_date__gte=datetime.date.today())表示为<=now “django models取得一个字段distinct...objects.get和objects.filter方法区别 为了说明它们两者区别定义2个models class Student(models.Model): name = models.CharField...比如我数据库里有一条记录,记录name值是”django”的话,用student = Student.objects.get(name=’django’), 返回是一个记录对象,你可以通过student...__dict__来查看,它返回是一个字典形式,{’key’:valeus},key是字段名称,values是值内容如果用get方法来查询一个数据库里不存在记录,程序会报错。...以上这篇Django models filter筛选条件详解就是小编分享给大家全部内容了,希望能给大家一个参考。

3.6K21

Django 分表两个方案

解析 Django,数据库访问逻辑基本上是Queryset完成,一个查询请求,比如:User.objects.filter(group_id=10)。...方案一 根据the5fire上面的分析,要想在执行具体查询时修改db_table已经是不可能了(当然,如果你打算去重写ModelMeta部分逻辑以及Queryset部分逻辑,就当我没说,只能表示佩服...也就是需要定义多个Model,同样字段,不同db_table。大概是这样。...不过这改变了之前调用习惯 objects.get 。 不管怎么说吧,这也是个方案,更完美的方法就不继续探究了,DjangoORM钻来钻去寻找可以hook点实在憋屈。...我们来看方案二吧 方案二 ORM过程是这样Model——> SQL ——> Model方案一我们一直处理Model——> SQL部分。其实我们可以抛开这一步,直接使用raw sql。

3.1K20

Django相关知识点回顾

3.MVT模式(Model模型、View视图、Template模板) 5.URL配置 Django默认url配置风格是末尾加 /,子应用中进行url地址配置时候,建议严格匹配开头和结尾。...查询结果缓存 使用同一个查询集时,只有第一次使用查询集时会进行数据库查询操作,然后Django框架就会把查询结果存起来,下一次再使用这个查询集时,使用Django之前存储结果。...以上内容详细介绍请看文章『是个链接』 ---- 14.Admin站点 Django自带文件存储系统,可以直接通过Admin站点进行图片上传,默认上传文件保存在服务器本地。...站点就可以进行图片上传 以上内容详细介绍请看文章『是个链接』 ?...团队开发注意事项 浅谈密码加密 Django框架英文单词 Django数据库相关操作 DRF框架英文单词 重点内容回顾-DRF

10K51

django_1

,M是指业务模型 model,V是指用户界面 view,C则是控制器 controler,使用MVC目的是将M和V实现代码分离,从而使同一个程序可以使用不同表现形式。...html,充当是MVCView角色,用来做数据展示 Views 视图函数 相当于MVCController 4.Django 简介 Django是一个开放源代码Web应用框架,它最初是被开发来用于管理劳伦斯出版集团旗下一些以新闻内容为主网站...项目名字 __init__ python包不是一个文件夹 settings 项目全局配置文件 ALLOWED_HOST=["*"] 修改settings...request 方法返回值类型是HttpResponse models 模型 admin 后台管理 apps 应用配置 tests 单元测试 migrations...templates文件夹即可 -必须在INSTALLED_APP下安装app ②项目目录中进行模板配置 - 需要在项目目录创建templates文件夹并标记 - 需要在settings

64820

让你Django应用变DRY几个最佳实践

DRY是Don't-Repeat-Yourself缩写,是一种代码编写原则,即不要重复自己工作。个人有些代码洁癖,凡是发现需要复制粘贴代码地方,就想着能怎样去除重复工作。...日常开发也总结出了一些个人实践,分享给大家。...注意:使用到用户模型时候,要使用django.contrib.auth.get_user_model()不是导入具体model类,这样可以方便用AUTH_USER_MODEL配置去改变用户模型。...Django+DRF异常处理有两个重载点: 中间件process_exception函数 DRFEXCEPTION_HANDLER配置 而其中EXCEPTION_HANDLER作用时间早于中间件...总结 DRY原则能使你代码结构好、易维护、易扩展。日常开发,要时刻反思自己代码是否过于重复,可以精简。Python,可以说只要你想,一定能把多处一样代码给抽取出来。

1.6K50

Django 学习笔记之模型(下)

1 前言 当我们建立好数据模型,Django 会自动为我们生成一套数据库接口相关接口。这套接口称为 QuerySet API。为什么叫 QuerySet ?...因为从数据库查询出来结果一般是一个集合,这个集合叫做 QuerySet。 为了方便理解,继续使用上篇文章例子。另外方便我们在打印对象信息时,能得到对象信息。所以我们需要对之前代码做下修改。...所以我们Python 处理 Unicode 对象时候,你可以直接将它们混合使用和互相匹配不必去考虑编码细节。 2 创建对象 为了更加直观操作数据库,使用 Django API 来讲解。...它不是个列表,但是可以使用 list() 将其转变为列表。...(address="上海") # 查询结果同时满足 name=清华大学出版社 和 address 不是上海, 这两个条件 # exclude() 函数排除指定内容 Publisher.objects.filter

64630

从零搭建一个django项目-7-注册实现(下)

django objects.filter()方法:djangofilter方法是从数据库取得匹配结果,返回一个对象列表,如果记录不存在的话,它会返回[]。...djangoobjects.get()方法:djangoget是从数据库取得一个匹配结果,返回一个对象,如果记录不存在的话,它会报错。...request.META.get("HTTP_AUTH_TOKEN") # 获取 headerkey小写转为大写,横线“-”转为下划线“_”, 并且加上前缀HTTP...: 02 — 预告 因为是一边写代码一边写公众号,本人又是个菜鸟好多东西不会需要查询和咨询别的大佬比如前几天前端咨询了筱梦同学和干脆面君,今天咨询了测试开发囤货和无敌哥(米洛测开日记)Nginx...备注:以后我会在结尾发一些图片。

28210

Django流程_菜鸟裹裹收费标准

大家好,又见面了,是你们朋友全栈君。...默认使用Sqlit数据库 setting.py文件,通过DATABASE选项进行数据库配置 a、配置MySQL python3.x安装是PyMySQL __init__.py文件写入两行代码...4、激活应用 setting.py文件,讲myApp应用加入到INSTALLED-APPS选项 5、定义模型 概述:有一个数据表,就应该对应一个模型 models.py定义模型 引入...web服务器,仅仅在开发测试使用 9、Admin站点管理 a、概述: 内容发布 负责添加、删除、修改内容 公共访问 b、配置Admin应用 settings.py文件INSTALLED_APPS...a、概述: django,视图对web请求进行回应 视图就是一个python函数,views.py文件定义 b、定义视图 from django.http import HttpResponse

1.3K30

Django&DRF重点内容大盘点

Django&DRF重点内容大盘点 本文只是将学习过程需要深刻记忆,在工作中常用一些命令或者知识点进行一个罗列并阐释,不会全面的将所有内容进行讲解。...2)返回时候用到了 HttpResponse这一命令返回响应对象 1.3.2url地址配置 1.子应用urls.py文件设置当前子应用url地址和视图对应关系 urlpatterns =...使用 1)配置文件设置配置项MEDIA_ROOT='上传文件保存目录' 2)定义模型类时,图片字段类型使用 ImageField 3)迁移生成表并在admin.py注册模型类,直接登录Admin...(label='图书') 注意:和对象关联对象如果有多个,序列化器定义嵌套序列化字段时,需要添加many=True。...('图书不是关于Django') return value 3)定义 validate方法进行补充验证(结合多个字段内容验证) def validate(self,attrs): ""

5.9K20

一篇文章浅析Django Form组件相关知识

前言 在上一篇时,我们小试牛刀了以下Django Form组件使用,一篇文章带你了解Django Form组件(入门篇),没来得及小伙伴可以一起看看。但是你可能会有很多疑问,并不知道怎么使用。...Form组件理解 没有使用Form组件时 在一般情况下,我们如果编写输入框时,Html,一般都是这样写。 代码 ......使用Form组件时 使用Form组件时,我们通常需要定义Form类。 这个Form,里面的字段,就可以理解为input标签,只不过是在后端写。....objects.create(**dict)。 2.如果是GET请求,实例化Form对象,并且返回页面。...,label,标签展示内容 help_text="",帮助信息(标签旁边显示) error_massages=None,错误信息{"required":"不能为空",...} show_hidden_initial

95430

drf框架序列化和返序列化

_固定写法 def get_model类中有字段(self,obj): #逻辑处理 return 修改后代码 需要序列化字段 不做任何处理情况下我们定义类里面的字段必须在model...及自定义字段类型不用遵守类里面的字段必须在model必须存在该字段 不需要序列化字段 不需要序列化属性字段序列化类需要声明 不需要序列化属性字段序列化类设置只写属性write_only...注意点:如果类字段值应用在反序列化,我们可以在他字段属性上加上write_only=True 里面所提及字段必须传入 常用约数条件与djangofrom组件约数条件有点类似: error_messages...return attrs # 最终结果抛出异常或者返回attrs 2.内容新增使用 我们如果想自定义create相关内容我们可以Serializer类再加个create...return APIResponse(1, 'failed', results=user_ser.errors) 3.内容修改使用 我们如果想自定义update相关内容我们可以

86251

Django匆匆一眼却解答了多年疑惑

Django 是 Python 一款 Web 开发框架,另外还有 Tornado,Flask,Twisted。为什么要选择学 Django?...原因很简单,上家公司来了个网易测开,就是用 Django 开发测试平台。 这位测开没多久就离职去腾讯了,啥也没学到,看了他代码,很多是写 Vue 代码,哭啊。...本系列将基于这一版本官方文档,边学习边实践,整理成文,分享给大家。 Django 系列不是教程,而是学习笔记、心得体会、踩坑记录,内容编排上可能会有点乱。...需要看教程请阅读官方文档,水平有限,实在抱歉。 Django 遵循 MVC 架构模式,所以接下来就看看如何使用 Django 完成 Web 开发。特别注意,本文内容不具有实操性,看看即可。...我们都知道程序是运行在内存,跑完就没了。为了把数据保存下来,就需要使用 ORM 技术把内存数据(程序对象)存到关系型数据库,进而转移到磁盘上。Django 自带了一个 ORM,开箱即用。

77610

Django框架学习(三)

过程: 客户端访问/use_template/,服务器调用对应视图函数,进行模板渲染,给模板文件传递变量,将模板文件变量进行替换,获取替换之后html内容,将替换之后html内容返回给客户端...父模板 如果发现在多个模板某些内容相同,那就应该把这段内容定义到父模板。 标签block:用于父模板预留区域,留给子模板填充差异性内容,名字不能相同。...Djangoid不需要定义,默认为我们添加了id,是主键,并且自增长。id可以使用pk代替(primary key) 定义字段名时候,不允许使用连续下划线。...AutoField选项使用 unique 如果为True, 这个字段必须有唯一值,默认值是False 外键 设置外键时,需要通过on_delete选项指明主表删除数据时,对于外键引用表数据如何处理...子应用会默认为我们创建一些表, 4.4演示工具使用 4.4.1shell工具 Djangomanage工具提供了shell命令,帮助我们配置好当前工程运行环境(如连接好数据库等),以便可以直接在终端执行测试

1.8K40

Django框架学习(四)

两大特性: 1、惰性查询:只有使用查询集中数据时才会进行数据库真正查询操作 2、查询结果缓存:如果使用同一个查询集时,只有第一次使用查询集时会进行数据库查询操作,然后Django框架就会把查询结果存起来...3.admin站点 Django框架提供了一个admin站点,可以让用户来管理网站数据表内容。...定义模型admin管理类,继承于admin.ModelAdmin 2)admin.site.register(模型类,admin管理类) 3)Admin管理类通过对应类属性控制admin界面内容...使用: 1、配置文件设置配置项MEDIA_ROOT=‘上传文件保存目录’ 2、定义模型类时,图片字段类型使用’imageField’ 3、迁移生成表,并在admin.py注册模型类,直接登录admin...团队开发注意事项 浅谈密码加密 Django框架英文单词 Django数据库相关操作

1.5K41

设计博客系统架构思考(上)——动态无限可能性

虽然,也想不起来为什么最近会陷入这样大坑,但是觉得还是应该记录一下这些想法。...从一个简单MVC架构博客系统,到我所使用Django MTVAPP结构,再到微服务与Reactive,似乎一直在说明一件事:解耦。 1MVC 初识架构是什么时候,看到了MVC模式架构。...随后这个model将传到前端框架渲染,最后再返回给浏览器。 但是这样架构充满了太多问题,如view与controller紧密耦合、controller粒度难以把控问题等等。...2Django MTV 使用Django差不多有四年了,主要是用在博客上。与MVC模式一对比,发现Django分层上还是很有鲜明特性: ?...联想起最近在学ScalaPlay框架,发现了其中诸多相似之处: ? 虽然Play,也有Controller概念。

853100

DjangoORM操作

,如果数据库迁移,只需要更换Django数据库引擎即可; 一、Django连接MySQL 1、创建数据库 (注意设置 数据字符编码) 由于Django自带orm是data_first类型ORM,...settings.py文件设置 连接 MySQL数据库(Django默认使用是sqllite数据库) DATABASES = { 'default': { 'ENGINE':...如果没有自增列,则自动会创建一个列名为id列 from django.db import models class UserInfo(models.Model):...admin级别生效 针对 dango_admin生效参数(正则匹配)(使用Django admin就需要关心以下参数!!))...() [userinfo对象,userinfo对象,] 小写表名 得到有外键关系列 #因为使用values取值取得是字典不是对象,所以需要 小写表名(外键表)__ v = UserGroup.objects.values

4.7K10
领券