Django Форма ChoiceField передает параметр для запроса к базе данных

Я хочу создать Django Form ChoiceField. Варианты выбора будут запрашиваться из внешней базы данных и должны быть отфильтрованы по параметру {company_id}. Как передать этот параметр?

views.py

` if request.method == 'GET':

'

company_id = 1 идентификатор сайта = 3

return render(request, 'sites/new-column.html', { 'company_id': company_id, 'site_id': site_id, 'form_newcolumn': NewColumn(company_id), })`

forms.py

class NewColumn(forms.Form):

    def __init__(self, *args, **kwargs):
        company_id = kwargs.pop('company_id')
        super(NewColumn, self).__init__(args, kwargs)
        self.company_id = company_id  # Add it as an instance variable

    engine = db.engine("Database")
    connection = engine.raw_connection()
    cursor = connection.cursor()
    cursor.execute(f"SELECT * FROM table WHERE id = '{company_id}' ; ")
    all_rows = cursor.fetchall()

    choices = forms.ChoiceField(
        choices=[(row[0], row[1]) for row in all_rows],
        help_text='Make your Choice'
    )

Как передать {company_id} для запроса только необходимых вариантов?

Я нашел решение для себя в:

Django Form ChoiceField set choices in View in Form initial

Я поместил оператор select и установил форму "choices" и "initial" в views.py без использования каких-либо def init в class definition.

Вернуться на верх