Django AutoComplete отображает связанные внешние данные в выпадающем списке - PullRequest
0 голосов
/ 13 февраля 2019

Я новичок в автозаполнении в Django 2.0.

У меня это работает, но я не могу заставить администратора django изменить label_from_instance при использовании функции автозаполнения.

Кто-нибудь знает?как изменить метки autocomplete_fields?

Обычно без автозаполнения моя форма получения djangoadmin будет выглядеть следующим образом:

   def get_form(self, request, obj=None, **kwargs):
        form = super(ChampProductMappingAdmin, self).get_form(request, obj, **kwargs)
        form.base_fields['sharepoint_product'].label_from_instance = lambda obj: "{} {}".format(obj.product_name,  obj.final_publications_product_id)

, если я использую

 autocomplete_fields = ['sharepoint_product']

, он просто используетметка стандартного объекта (ID)

1 Ответ

0 голосов
/ 15 мая 2019

Я пытался добиться того же, но при расследовании я не вижу способа сделать это легко.

Результаты загружаются через AJAX, а не отображаются на странице, так какавтозаполнения.Когда вы посмотрите на источник Django для представления AJAX (https://github.com/django/django/blob/43f54e136e9282f5c0bfcf1169d0d59b3c365add/django/contrib/admin/views/autocomplete.py#L31)), вы увидите, что для метки установлено значение str(obj), и нет простого способа изменить это поведение.

...