HTMX Ближайший #ID
Я пытаюсь создать динамическую форму с цепочкой выпадающих элементов, используя Django и HTMX. вот форма
class WorkModelForm(ModelForm):
system = forms.ModelChoiceField(queryset=System.objects.all(), widget=forms.Select(attrs={
'hx-get': reverse_lazy('ajax_load_subsystem'),
'hx-include': "[name='subsystem']",
'hx-target': 'closest #id_subsystem',
'hx-trigger': 'load,change',
'hx-swap': 'innerHTML',
}))
startDate = DateField(widget=forms.SelectDateWidget(years=['2022', '2023']), label='Start Date',
initial=datetime.date.today(), )
endDate = DateField(widget=forms.SelectDateWidget(), label='End Date',
initial=datetime.date.today() + datetime.timedelta(days=1))
subsystem = forms.ModelChoiceField(queryset=SubSystem.objects.all(), widget=forms.Select(attrs={
'hx-get': reverse_lazy('ajax_filter_user'),
'hx-target': '#id_assigned_to',
'hx-include': "[name='assigned_to'],[name='system']",
'hx-trigger': 'load,change',
'hx-swap': 'innerHTML',
}))
class Meta:
model = ListOfItems
fields = (
'id',
'system',
'subsystem',
'assigned_to',
'issueCount',
'startDate',
'endDate',
'status',
'remarks',
)
def clean_data(self):
data = self.clean_data[
'issueCount',
'assigned_to',
'system',
'subsystem',
'startDate',
'endDate',
'status',
'remarks',
]
return data
это форма, которую я использую для создания и обновления значений
<form method="POST" class="tr" hx-target="this" hx-swap="outerHTML">
{% csrf_token %}
{% for field in form.visible_fields %}
<div class="td">{{ field }}</div>
{%endfor%}
{%if projects%}
<div class="td"><button type="submit" hx-post="{%url 'edit-work' projects.id%}">Save</button></div>
{%else%}
<div class="td"><button type="submit" hx-post="."> Submit </button></div>
{%endif%}
</form>
Есть ли способ создать уникальный ID для подсистемы и assigned_to в атрибутах. Я пробовал использовать ближайший TD, но он заменяет исходный выпадающий список.