我有这个型号:
class Person(models.Model):
first_name = models.CharField(max_length=50, null=True, blank=True)
last_name = models.CharField(max_length=50, null=True, blank=True)
age = models.PositiveIntegerField(null=True, blank=True)
gender = models.CharField(choices=Gender.choices, null=True, blank=True)
city = models.CharField(max_length=200, null=True, blank=True)
我需要“城市”字段的自动完成过滤器
https://github.com/farhan0581/django-admin-autocomplete-filter没有完成这项工作
您可以使用 django-autocomplete-light 并安装它。
为城市字段创建自定义小部件:
from autocomplete_light.widgets import AutoCompleteWidget
class CityAutocompleteWidget(AutoCompleteWidget):
def get_model_objects(self, query):
return City.objects.filter(name__icontains=query)
更新您的 Person 模型以使用新的小部件:
class Person(models.Model):
first_name = models.CharField(max_length=50, null=True, blank=True)
last_name = models.CharField(max_length=50, null=True, blank=True)
age = models.PositiveIntegerField(null=True, blank=True)
gender = models.CharField(choices=Gender.choices, null=True, blank=True)
city = models.CharField(max_length=200, null=True, blank=True, widget=CityAutocompleteWidget)