如何从详细视图传递到形成外键字段?
How to pass from detail view to form foreignkey field?
我有详细的汽车和预订 btn 查看预订表格。我想超过显示细节的那辆车。而不是我总是 select 从外键下拉车 select.
在汽车详情视图中输入:
<a href="{% url 'car_booking' %}?car={{ car.id }}">Booking Now</a>
然后鉴于订车:
class BookingView(FormView):
template_name = 'car/booking.html'
form_class = BookingForm
def get_context_data(self, **kwargs):
# kwargs['car'] is the car booking now!
try:
kwargs['car'] = Car.objects.get(id=self.request.GET.get('car', ''))
except (Car.DoesNotExist, ValueError):
kwargs['car'] = None
return super(BookingView, self).get_context_data(**kwargs)
# if you still want to keep select car in form,and auto select this car do as:
def get_initial(self):
initial = super(BookingView, self).get_initial()
if 'car' in self.request.GET:
try:
initial['book_car'] = Car.objects.get(id=self.request.GET['car'])
except (Car.DoesNotExist, ValueError):
pass
return initial
url 可能喜欢:
path('booking/', BookingView.as_view(), name='car_booking'),
我有详细的汽车和预订 btn 查看预订表格。我想超过显示细节的那辆车。而不是我总是 select 从外键下拉车 select.
在汽车详情视图中输入:
<a href="{% url 'car_booking' %}?car={{ car.id }}">Booking Now</a>
然后鉴于订车:
class BookingView(FormView):
template_name = 'car/booking.html'
form_class = BookingForm
def get_context_data(self, **kwargs):
# kwargs['car'] is the car booking now!
try:
kwargs['car'] = Car.objects.get(id=self.request.GET.get('car', ''))
except (Car.DoesNotExist, ValueError):
kwargs['car'] = None
return super(BookingView, self).get_context_data(**kwargs)
# if you still want to keep select car in form,and auto select this car do as:
def get_initial(self):
initial = super(BookingView, self).get_initial()
if 'car' in self.request.GET:
try:
initial['book_car'] = Car.objects.get(id=self.request.GET['car'])
except (Car.DoesNotExist, ValueError):
pass
return initial
url 可能喜欢:
path('booking/', BookingView.as_view(), name='car_booking'),