Используйте свет автозаполнения с django-tables2

Я пытаюсь заполнить таблицу django подсветкой автозаполнения, чтобы пользователь мог заполнить данные в таблице, которые затем будут сохранены (вся таблица находится в теге формы). У меня есть таблица, работающая для отображения существующих данных, и у меня есть автозаполнение, работающее в формах моделей (ну, член команды заработал с этой частью), но я не знаю, как их объединить. Документы для меня немного загадка, но, может быть, если бы кто-то мог хотя бы указать мне правильное направление, я был бы очень признателен.

Я пробовал несколько случайных вещей, чтобы объединить их, но, честно говоря, это были такие удары в темноте, что я не думаю, что о них стоит даже упоминать.

таблицы.py

class ModifyTable(tables.Table):
    name            = tables.LinkColumn('app-view', args=[A('pk')], verbose_name='Name')
    primary_contact    = tables.Column()
    secondary_contact  = tables.Column()

автозаполнение

autocomplete_light.register(Person,
    search_fields=['first_name', 'last_name', 'username'],
    split_words=True,
    autocomplete_js_attributes={'placeholder': 'Find a user',},
)

person thumbtackthief    schedule 15.11.2013    source источник


Ответы (1)


Django-tables2 предоставляет API для создания таблиц данных в формате HTML.

Django-autocomplete-light предоставляет виджет, который позволяет вводить автозаполнение.

Этот виджет должен использоваться в Форме. Класс django Form объединит ваш HTML <form> с моделями, используемыми django-tables2.

Однако форма должна использоваться наборами форм для повторения для каждую строку в таблице. Обратите внимание, что вы можете рассмотреть modelformset_factory для создания такого набора форм.

Используйте набор форм, и ваша работа сделана здесь;)

person jpic    schedule 17.11.2013
comment
Места, где пользователь должен вводить данные, включают поиск fk по 10 000 элементов. Я хочу, чтобы пользователь мог использовать автозаполнение там. - person thumbtackthief; 18.11.2013
comment
О, вы -1 единственный человек, который пытался вам помочь, отличный ход: D Кстати, я автор django-autocomplete-light, и я гарантирую, что виджеты автозаполнения работают в наборах форм и с поиском 100 000 или даже 1 000 000 элементов :) Дайте мне знать, когда вы улучшите свой вопрос. - person jpic; 20.11.2013
comment
Я не пытался тебя оскорбить. Я новичок здесь и думал, что это то, что я должен делать. Я думал, что мой вопрос ясен - если я ошибаюсь, пожалуйста, дайте мне знать, как я могу его улучшить, и я с радостью это сделаю. - person thumbtackthief; 20.11.2013
comment
Очевидно, я не могу удалить -1, если вы как-то не отредактируете свой ответ. Но я пытался. - person thumbtackthief; 20.11.2013
comment
Справедливости ради, однако, ваш ответ на Как я могу использовать django-tables2 с автозаполнением? не включал ни django-tables2, ни автозаполнение. - person thumbtackthief; 20.11.2013
comment
Ну, у вас есть таблица table2, у вас есть класс автозаполнения. Но где ваш набор форм? НЕ БОЙТЕСЬ: если вы не знаете, что такое набор форм, в моем ответе есть ссылка на официальную документацию по наборам форм;) - person jpic; 25.11.2013
comment
Не могли бы вы опубликовать свой набор форм, пожалуйста? Спасибо ! - person jpic; 01.12.2013
comment
Привет, ты все еще копаешься в темноте или ты пытался использовать наборы форм? Спасибо за ваш отзыв ! - person jpic; 11.12.2013
comment
Вопрос был временно вынесен на обсуждение (хех), но я скоро вернусь к нему и обновлю вопрос! - person thumbtackthief; 11.12.2013