用了你说的'res_id__id' ,报错Unsupported lookup 'id' for ForeignKey or join on the field not permitted.
时间: 2023-12-25 14:05:14 浏览: 23
这个问题可能是由于你使用了错误的查询方式。在Django中,ForeignKey字段是通过使用双下划线来访问其关联模型的属性的。因此,您可以尝试使用'res_id'来访问ForeignKey字段关联模型的主键属性。例如:
```
related_object = MyModel.objects.get(foreign_key_field__res_id=res_id_value)
```
在这个例子中,'foreign_key_field'是一个ForeignKey字段,'MyModel'是包含这个字段的模型。'res_id_value'是您想要匹配的主键值。
希望这可以帮助您解决问题。
相关问题
Exception Value: Unsupported lookup 'id' for ForeignKey or join on the field not permitted.是什么问题
这个错误是由于您在使用Django ORM查询时使用了不支持的查询方式。具体来说,您正在尝试使用'id'查询ForeignKey字段,但是ForeignKey字段不支持使用'id'查询。ForeignKey字段是通过使用双下划线来访问其关联模型的属性的,而不是使用'id'。
如果您想查询ForeignKey字段关联模型的属性,您可以使用以下方式:
```
related_object = MyModel.objects.get(foreign_key_field__related_property=value)
```
在这个例子中,'foreign_key_field'是一个ForeignKey字段,'MyModel'是包含这个字段的模型。'related_property'是ForeignKey字段关联模型中的一个属性名称,'value'是您想要匹配的属性值。
请确保使用正确的查询方式来访问ForeignKey字段的关联模型属性。
Unsupported lookup 'icontains' for ForeignKey or join on the field not permitted.
这个错误通常出现在Django中,表示你在一个ForeignKey字段或者join上使用了不支持的'icontains'查询。ForeignKey是一个外键,它指向了另一个表的主键,而'icontains'是一个模糊查询,在这种情况下是不被支持的。解决这个问题的方法是使用正确的查询方式,例如在ForeignKey字段上使用__exact或者__iexact查询。例如,如果你想要查询一个名字为"John"的用户,可以使用以下代码:
```python
User.objects.filter(name__iexact='John')
```
这将返回所有名字为"John"的用户,不区分大小写。