python - 如何从详细视图传递到表单外键字段?
问题描述
我有汽车的详细视图和预订href 到预订表格的btn。我想通过那辆显示细节的汽车。而不是我总是从外键下拉汽车选择中选择。
解决方案
在汽车详细视图中放置:
<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
网址可能喜欢:
path('booking/', BookingView.as_view(), name='car_booking'),
推荐阅读
- vue.js - 如何在 vuejs 中传递对象数组?
- python - 无法在网页上选择下拉选择器按钮,我认为它会启动弹出窗口?
- laravel - 为具有子类别和分页的类别选择帖子
- c# - 使用 C# 执行 Powershell 脚本时,术语“ConvertTo”未被识别为 cmdlet 的名称
- angularjs - jQuery Datatable ng-click 在表初始化时不起作用
- amazon-web-services - 如何确定哪个是正确的认知错误
- javascript - 将类添加到 innerHTML 属性
- django - Django Rest Framework:在子模型上添加超链接相关字段
- installation - ubuntu 20.04 上的 Emacs 27.1 找不到任何字体
- linux - 如何使用 socat 配置代理以侦听 MQTT 连接