- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力解决我的应用程序中的 DoesNotExist
错误。关键是我真的不明白为什么会抛出这个错误,因为我已经处理过了:
import socket
from django.core.exceptions import ObjectDoesNotExist
from django.db import Models
class MyClass(models.Model):
name = models.CharField(max_length=250, default=socket.gethostname(), unique=True)
@staticmethod
def update_some_list(some_list):
for some_item in some_list:
try:
MyClass.objects.get(name=some_item)
except ObjectDoesNotExist: # I also tried with MyClass.DoesNotExist
MyClass.objects.create(name=some_item)
这里的重点是,当我遇到这段代码时,我有一些被丢弃的“模块级”DoesNotExist,就好像这个 try/except block 永远不会被命中:
Traceback (most recent call last):
File "/app/backend/shared/models.py", line 201, in update_some_list
MyClass.objects.get(name=some_item)
File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 399, in get
self.model._meta.object_name
shared.models.DoesNotExist: MyClass matching query does not exist.
最佳答案
考虑使用 QuerySet.get_or_create ,这将消除上述问题。
MyClass.objects.get_or_create(name=some_item)
此外,请注意,如果您访问 @staticmethod 中的类将其更新为 @classmethod 是有意义的.另外,在您遇到的问题中:
from django.db import Models
代替 从 django.db 导入模型
关于python - Django try/except on DoesNotExist 仍然抛出它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52254747/
是否有可能哄骗 Django 为 DoesNotExist 错误提供更多信息? 例如,真的如果他们能包含查询就好了……像这样: >>> Foo.objects.get(id="example_id")
我正在使用 Django 1.7。通常你可以在你的模型上捕获 DoesNotExist 异常; try: ... except model.DoesNotExist, den: ... 我
如果您能在点击搜索按钮时在另一个页面中查看数据,从而从数据库中接收数据,我将不胜感激。我收到的问题是 AttributeError。单击该按钮后 我试图研究类似的问题。 Views.py def ac
这个问题在这里已经有了答案: How to handle "matching query does not exist" when getting an object (3 个答案) 关闭 7 年前
我正在尝试创建一个单元测试来验证对象是否已被删除。 from django.utils import unittest def test_z_Kallie_can_delete_discussion_
我正在尝试在我的 Django Web 应用程序中激活社交登录,该应用程序来自此 GitHub repository 中的开源软件(所以我没有写);我遇到了这个众所周知的问题: DoesNotExis
从 git 仓库运行 Django 1.5.x。使用 south 来管理迁移。我有一个这样的模型: class Company(models.Model): name = models.Cha
我有一些关于 django exists() 和 DoesNotExist 异常的问题。 示例代码: id = 1 # first if User.objects.get(pk=id).exists(
我正试图捕获 Django。我在 Eclipse 上使用 Pydev。我写了一个简单的注册页面,但我无法开始工作。 Eclipse 提示 User.DoesNotExist 未定义。很可能,我错过了一
它并不总是这个代码块,但这是最新的。这似乎是随机的,有什么想法吗? try: u = User.objects.get(email__iexact=useremail) except User
我正在尝试通过基于相关模型的过滤来运行 filter() 查询,它会抛出 DoesNotExist 异常。 CourseMember.objects.filter(user__last_name__i
在 Django 中,我一直看到 DoesNotExist 被引发,就像在 db.models.fields.related.py 中一样。不是在 django.core.exceptions 中定义
我正在努力解决我的应用程序中的 DoesNotExist 错误。关键是我真的不明白为什么会抛出这个错误,因为我已经处理过了: import socket from django.core.except
我在 Django 1.5 网站上遇到了一个奇怪的异常: "TypeError: 'exceptions.AttributeError' object is not callable" 从本质上讲,
我在使用 django guardian 时遇到了一些问题。我定义了一个新闻模型 class News(models.Model): title = models.CharField(_('T
我正在尝试验证 ListView 不包含特定项目。这是我正在使用的代码: onData(allOf(is(instanceOf(Contact.class)), is(withContactItemN
我有一个 Django 模型的自定义管理器。我似乎无法在这里捕捉到 DoesNotExist 异常。我知道如何在模型中执行此操作,但在这里不起作用: class TaskManager(models.
为什么我创建的模型实例在之后直接从 celery 任务查询时没有找到?例如: # app.views model = Model.objects.create() # I create my l
我已经将 peewee 与 SQLite 一起使用了一段时间,现在我正在切换到带有 Postgres 的 SQLAlchemy,但我找不到等效的 DoesNotExist(参见示例) try:
我一直收到 has no attribute DoesNotExist 错误。 有什么想法吗? 到目前为止我试过: try: current_report = Report.o
我是一名优秀的程序员,十分优秀!