在我的数据库中,Instrument
对象可以有很多CalibrationCertificate
对象,这些对象只包含一个 ForeignKey 到Instrument
、一个发布日期和一个过期日期。这两个日期都是自动计算的,不需要用户输入。因此,有没有办法可以在Instrument_Detail
视图上放置一个按钮,将新CalibrationCertificate
记录添加到数据库中,并将instrument
字段设置为当前对象?
问问题
364 次
1 回答
0
这是恕我直言,最好的解决方案。要在重定向视图中自定义 url,请使用 get_redirect_url。
视图.py
class AddCalibrationCertificateView(RedirectView):
http_method_names = ['post']
url = '/instrument/1/'
def post(self, request, *args, **kwargs):
'''Here you add new certificate object, use self.kwargs['instrument_pk']
to get related instrument
'''
return super(AddCalibrationCertificateView, self).post(request, *args, **kwargs)
new_cert = AddCalibrationCertificateView.as_view()
网址.py
url(r'^add/certificate/(?P<instrument_pk>\d+)/$', 'views.new_cert', name='new_cert'),
仪器.html
<form action="{% url 'new_cert' 1 %}" method="post">{% csrf_token %}
<input type="submit" value="Add cert" />
</form>
于 2013-08-15T10:51:45.343 回答