Django HTMX формы, передающие id выбранного внешнего ключа
Это мой models.py
class Services(models.Model):
name = models.CharField(max_length=50)
price = models.FloatField()
description = models.CharField(max_length=500, null=True)
# employees =
def __str__(self):
return self.name
class Venue(models.Model):
name = models.CharField(max_length=50)
services = models.ManyToManyField(Services)
description = models.CharField(max_length=500, null=True)
capacity = models.FloatField()
venue_price = models.FloatField(null=True)
# available =
def __str__(self):
return self.name
class Order(models.Model):
venue = models.ForeignKey(Venue, on_delete=models.SET_NULL, null=True, default=1)
services = models.ManyToManyField(Services, null=True)
total_price = models.FloatField(null=True)
# date =
В моем html я сделал набор радиокнопок с внешними ключами места проведения из заказа. Когда пользователь выбирает нужное ему место, я хочу, чтобы услуги менялись в зависимости от того, какие услуги доступны в этом месте. Я не понимаю, как я могу послать htmx запрос к views, который передает pk для того, какое место было выбрано.
Это мой html
<div class="container">
<div hx-post="{% url "planner:create"%}"
hx-swap="beforeend"
hx-trigger="click"
hx-target="#services"
class="container form-check-inline">
{{ form.venue }}
</div>
</div>
<div id="services"></div>
Это views.py
class EventCreateView(CreateView):
model = Order
form_class = OrderForm
context_object_name = "venue"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
venue = Venue.objects.get(pk=???)
context["services"] = venue.services.all()
return context
def get_template_names(self, *args, **kwargs):
if self.request.htmx:
return "planner/order_form_partial.html"
else:
return "planner/order_form.html"
Это urls.py
urlpatterns = [
path("create/", EventCreateView.as_view(), name="create"),
]