Как я могу настроить фильтрацию в модели формы одного поля на основе другого при выборе?

У меня есть 2 таблицы-модели. В первой таблице у меня есть форма в наборе, в которой есть одно интересное поле. Это поле может иметь одинаковые значения.

Если рассматривать вторую табличную модель - то во вторую табличную модель я поместил 2 поля из первой таблицы.

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

  • так, чтобы после выбора в поле город происходила некоторая фильтрация второго поля. Например, фильтрация двух полей происходит в соответствии с выбранным первым полем и подставляется во второе поле.

Как это можно сделать. Я выбираю поле город - и так, чтобы второе поле было отфильтровано.

Как я могу настроить фильтрацию в модели формы одного поля на основе другого при выборе?

Помогите мне, пожалуйста, я буду рад любой подсказке о том, как это сделать?

Прямо сейчас вы используете OneToOneField как для city, так и для nameobject в ArkiTwoObject, что неверно, поскольку несколько экземпляров ArkiTwoObject могут принадлежать одному и тому же ArkiOneObject. Вместо этого используйте ForeignKey:

python

классArkiTwoObject(models.Model): city = models.ForeignKey(ArkiOneObject, related_name='cities', on_delete=models.CASCADE) nameobject = models.ForeignKey(ArkiOneObject, related_name='objects', on_delete=models.CASCADE) # other fields...

Но если вам нужен только город в качестве CharField (не привязанный к ArkiOneObject), вы можете сохранить city в качестве CharField, а nameobject в качестве ForeignKey.

Или — что лучше — используйте только nameobject в качестве внешнего ключа и получите его город через nameobject.city.

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