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

时间:2009-12-21 12:19:56

标签: django

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

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

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

KeyError at /forms/create_library
type

有没有办法消除单词type含义的歧义,以允许我指定该名称的字段?

2 个答案:

答案 0 :(得分:3)

未经测试:

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

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

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

答案 1 :(得分:0)

好吧事实证明问题出在其他地方。我在表单中这样做,因此使用输入值的self.cleaned_data字典。

我试图检索self.cleaned_data['type']在我之前的简化中我说过字符串'library'。事实上,这不是表格的清理数据,因此扔了KeyError