django admin 中多对多表单字段不工作
我在阅读这个内容:
我想用 like field
来查询数据库,但出现了错误。
FieldError: 在字段 'car' 上的连接不被允许。你是不是把 'like' 拼错了?
我使用的代码是:
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "cars":
kwargs["queryset"] = models.Cars.objects.filter(car_like="ford")
return super(MyAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)
1 个回答
0
这个代码本身不会引发这个错误。只有在你使用双下划线 car__like
的情况下,它才可能让连接操作产生混淆。你可以查看一下Django的查询参考,了解具体细节。
不过,也许你想要的是 __icontains
,它会生成一个LIKE语句?
Foo.objects.filter(some_field__icontains='ford')