Как использовать пользовательские функции как Django autocomplete_fields - PullRequest
0 голосов
/ 26 февраля 2020

Это мой site/app/models.py

class Country(models.Model):
    class Countries(models.IntegerChoices):
        US = 1, 'United States'
        IND = 2, 'India'
        UK = 4, 'United Kingdom'

    country_name = models.IntegerField(choices=Countries.choices)

class Person(models.Model):
    name = models.CharField(max_length=100)
    nationalities = models.ManyToManyField(Country)

Это мой site/app/admin.py

from django.contrib import admin
from app.models import Country, Person


class CountryAdmin(admin.ModelAdmin):
    search_fields = ['country_name']


class PersonAdmin(admin.ModelAdmin):
    autocomplete_fields = ['nationalities']


admin.site.register(Country, CountryAdmin)
admin.site.register(Person, PersonAdmin)

Примечание : это пример минимального примера, который должен работать. Для меня подобное работает просто отлично.

Вопрос

Проблема с вышеуказанным подходом состоит в том, что в полях с возможностью поиска 'country_name' ищет только integers (вне курса ). Вопрос в том, могу ли я использовать что-то вроде get_country_name_type_display, чтобы сделать его более полезным?

...