У меня есть два класса - событие и тур.У раунда есть ограничение внешнего ключа для события, поэтому раунд связан с событием.
Теперь для создания раунда у меня есть следующий маршрут
<slug:slug_event>/new/
И для доступа к раунду
<slug:slug_event>/<int:pk_round>/
Чтобы сохранить раунд, мне нужно объявить событие.Так что в моем раунде / views.py у меня есть
fields = [..., 'event']
, и я могу выбрать событие, к которому будет прикреплен раунд.Но я бы не хотел иметь это поле события, потому что событие уже указано в URL.Поэтому я бы хотел что-то вроде
class RoundCreateView(CreateView):
model = Round
pk_url_kwarg = 'pk_round'
fields = [...]
def form_valid(self, form):
form.instance.event = self.request.event #obviously this dosn't work
return super().form_valid(form)
, поэтому мне не нужно указывать событие «дважды».