Как перейти из подробного вида в поле Foreignkey? - PullRequest
0 голосов
/ 08 июня 2018

У меня есть подробный вид автомобиля и Btn от бронирования до формы бронирования.Я хочу передать ту машину, деталь которой показывает.Вместо того, чтобы я всегда выбирал из выпадающего списка иностранных автомобилей выбрать автомобиль.

1 Ответ

0 голосов
/ 08 июня 2018

в подробном представлении автомобиля введите:

<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'),
...