Поиск вводя данные, django admin
есть модель:
class StarusC(models.Model):
serialNumber = models.ForeignKey(Catrige, verbose_name='Серийный номер', on_delete=models.CASCADE)
catrigeStatus = models.ForeignKey(StatusCatrige, verbose_name='Статус картриджа', on_delete=models.CASCADE)
dateChange = models.DateField(auto_now=True)
class Meta:
verbose_name = 'Статус картриджа'
verbose_name_plural = 'Статусы картриджей'
Необходимо производить поиск по serialNumber, но так как serialNumber является ForeignKey можно только выбирать из выпадающего списка.
Подскажите пожалуйста можно ли данное поле сделать как TextBox? И производить поиск вводя данные? Или возможно я не верно спроектировал модель?
Ответы (1 шт):
Автор решения: floydya
→ Ссылка
В админ класс модели Catrige нужно добавить поиск, например, по имени:
@admin.register(Catrige)
class CatrigeAdmin(admin.ModelAdmin):
# тут ваш код
search_fields = ('name',) # вместо "name" - поле, по которому будем искать
# Можно так же указать другие поля через запятую, например:
# search_fields = ('id', 'name')
# тогда поиск будет производиться либо по номеру в БД, либо по имени.
Затем в админ класс где будем вместо выпадающего списка давать такой же список с поиском:
@admin.register(StarusC)
class StarusCAdmin(admin.ModelAdmin):
autocomplete_fields = ('serialNumber',)