我的模型有一个文本字段 我添加了一个带有Django-Autocomplete的表单来获取该字段的可用对象。
在此模型的管理页面中,我想使用my_field字段搜索对象,但我收到错误"相关字段无效查找:icontains"
我知道我得到它是因为表单的字段现在是ModelChoiceField,如何根据SomeOtherModel的名称字段修复它?
from dal import autocomplete
import django.forms as forms
from django.db import models
# models.py
class SomeModel(models.Model):
some_other_model = models.ForeignKey('SomeOtherModel', )
class SomeOtherModel(models.Model):
name = models.CharField(max_length=255)
#admin.py
class SomeModelAdmin(admin.ModelAdmin):
form = SomeModelForm
search_fields = ['some_other_model__name', ]
#form.py
class SomeModelForm(ModelForm):
some_other_model = forms.ModelChoiceField(
queryset=SomeOtherModel.objects.all(),
widget=autocomplete.ModelSelect2(url='control:someothermodel-autocomplete', )
)
答案 0 :(得分:0)
需要使用自定义get_search_results更改search_fields并使用其他字段/列表结果
function palindrome(str) {
var clearString = str.toLowerCase().replace(/[^0-9a-z]/gi, '').split('');
for (var i = 0; i < clearString.length/2; i++) {
if (clearString[i] !== clearString[clearString.length -1 -i]) {
return false;
}
}
return true;
}