我希望得到一个对象以下列方式对象时:Django的KeyError异常得到与字段名称关键字
Collection.objects.get(name='name', type='library', owner=owner, parent=parent)
不幸type
是一个关键字,如因此产生以下错误:
KeyError at /forms/create_library
type
有没有办法消除单词type
的含义以允许指定该名称的字段?
我希望得到一个对象以下列方式对象时:Django的KeyError异常得到与字段名称关键字
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/
还要考虑不同的命名你的领域,主要是没有使用相同的名称作为内置。
这似乎并不能解决这个错误,但正如大家所提到的,我会将字段名称更改为更合适的选择。 – 2009-12-21 12:31:37
好吧,事实证明,问题在别处。我是这样做的,因此使用输入值的字典。
我试图检索self.cleaned_data['type']
在我以前的简化中,我指出了字符串'库'。这实际上并不在表格的清理数据中,因此抛出了KeyError
。
通过将'type'字段重命名为不是保留字的东西,可能会更好地解决此问题。 – 2009-12-21 12:24:43
是的,你是对的,为了将来的参考是有办法做我试图? – 2009-12-21 12:26:06