Как выбрать из второго поля в форме фильтрацию данных в зависимости от значений первого поля?
Можно ли как-то адаптировать что-то похожее к моей проблеме?
Я бы хотел, чтобы в форме отображался список, основанный на данных из другого списка Выберите из второго поля - фильтрация данных - (содержимое) в зависимости от полученных значений первого поля. Например. Лондонское кафе Лондонский ресторан Лондонский фаст-фуд Пиццерия в Манчестере Бургеры в Манчестере
Я выбираю город в поле формы, а второе поле фильтруется по заведениям.
Как выбрать из второго поля в форме фильтрацию данных в зависимости от значений первого поля?
class ExcludedDateForm(ModelForm):
class Meta:
model = models.ExcludedDate
exclude = ('user', 'recurring',)
def __init__(self, user=None, **kwargs):
super(ExcludedDateForm, self).__init__(**kwargs)
if user:
self.fields['category'].queryset = models.Category.objects.filter(user=user)
class FilterByUserMixin(LoginRequiredMixin):
"""
Filters the queryset with `self.request.user` in a specified `user_field` field. `user_field` defaults to "user".
"""
user_field = "user"
def get_queryset(self, *args, **kwargs):
return (
super()
.get_queryset(*args, **kwargs)
.filter(**{self.user_field: self.request.user})
)
class Book(models.Model):
author = models.ForeignKey(MyUser, on_delete=models.RESTRICT)
number_pages = models.PositiveIntegerField()
title = models.CharField(max_length=1000)
class BookUpdateView(FilterByUserMixin, UpdateView):
model = Book
template_name = "book/my_book_update_template.html"
fields = ["number_pages", "title"]
success_url = reverse_lazy("book-update-success")
user_field = "author"
. . .. .. ........
Возможно, это поможет решить вашу проблему:
https://django-formset.fly.dev/selectize/#filtering-select-options