获取带有字段名称关键字的对象时的Django KeyError

标签 django

我希望以下列方式获取一个对象:

Collection.objects.get(name='name', type='library', owner=owner, parent=parent)

不幸的是 type 是一个关键字,因此会产生以下错误:

KeyError at /forms/create_library
type

有没有一种方法可以消除 type 一词的含义,让我可以指定该名称的字段?

最佳答案

未测试:

Collection.objects.filter(
    name__exact='name', 
    type__exact='library', 
    owner__exact=owner, 
    parent__exact=parent)

查询文档:http://docs.djangoproject.com/en/dev/topics/db/queries/

还要考虑以不同方式命名您的字段,主要是不要与内置名称相同。

关于获取带有字段名称关键字的对象时的Django KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939815/

相关文章:

python - 使用@permalink和get_absolute_url()时NoReverseMatch

python - 检查 Django 中的 OneToOneField 是否为 None

python - Django:如何在注释查询集中添加比较条件

python - Supervisor - 启动 django 应用程序并通过 bash 文件保持其运行

python - 如何使用 kCacheGrind 打开 python 配置文件数据?

django - 我应该将一个大的 Django 项目拆分为多个应用程序吗?

python - Django 图像字段 "Upload a valid image. The file you uploaded was either not an image or a corrupted image."

python - 在 Python 中,以 currentThread() 为键的字典会导致内存泄漏吗?

python - Zinnia 在 MySQL 后端的 QuerySet.datetimes() 中返回了无效值

python - 重命名响应字段 django rest framework 序列化程序