Django-Jet: Как установить нулевой внешний ключ, если он автоматически заполняется через запросы AJAX? - PullRequest
0 голосов
/ 29 мая 2019

Я использую Django-Jet и имею модель со многими полями ForeignKey. Для этих полей я хочу, чтобы их значения извлекались динамически через AJAX и не были предварительно загружены. Одно из полей выглядит так:

class Person(Base_Entity):
        first_name = models.ForeignKey(
                'Name',
                null = True,
                blank = True,
                default = None,
                verbose_name = _('first name of person'),
                on_delete = models.SET_NULL,
                related_name = 'is_first_name_of_%(app_label)s_%(class)s',
        )
)
@staticmethod
def autocomplete_search_fields():
        return 'first_name__name',

(Модель Name имеет сотни записей, и будет еще больше)

Кажется, я не могу установить для этого поля значение NULL в Django Admin (строка с тире не отображается):

enter image description here Если я включаю автозаполнение (т. Е. Удаляю метод autocomplete_search_fields), я получаю эту запись NULL, НО я также получаю все возможные значения, предварительно загруженные в выбор HTML, и это замедляет загрузку страницы до точки, которую нельзя использовать .

Я использую Django 2.1.4, Django-Jet 1.0.8 (подозреваю, что проблема тесно связана с Django-Jet)

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 03 июня 2019

Я использую djangojet, и это отношение показывает пустой выбор значения в admin ("-----"):

 someModel_FK= models.ForeignKey(someModel,
                                  related_name='this-model',
                                  null=True,
                                  blank=True,
                                  on_delete=models.SET_NULL)

a - Удалить django-jet и проверить по умолчанию admin. Вы скучаете по миграции? это "null = True, пусто = True" перенесено в БД?

...