0
一个或多个字段不主张可以说我有以下型号:Django的 - Q对象,如果不存在
Model A:
date
category
something
...
和:
Model B:
date
category
...
我想创建一个单个Q对象,将按date
,category
和something
进行过滤,但前提是只有在我应用过滤器的模型中存在。
换句话说,一个Q
,我可以申请两个A
和B
模式,只是与B
因为这个领域不B
存在something
过滤器将被忽略。
如果我尝试了天真的实现,例如Q
与date
,category
和它something
,当B
模型应用于我收到以下错误:
FieldError: Cannot resolve keyword 'something' into field. Choices are...
这是合理的由于B真不其中没有一个名为something
的字段。但我想改变这种行为并使其工作,并忽略不存在的字段而不是抛出异常。
这可能吗?
这是一个非常有趣的解决方案!我最终做的是一个查询字典,其中模型类型是关键,值略有不同,但我喜欢你所建议的方法。下次我为这些模型编写Q对象时,我会尝试一下。 –