Как я могу получить доступ к объекту, переданному пользователем внутри общего класса представления?
В шаблоне, когда пользователь нажимает ссылку:
<td><a href="{% url 'update_peon' pk=item.pk %}"><button class="btn btn-warning">Edit</button></a></td>
, это идет к urls.py:
url(r'^update_peon/(?P<pk>\d+)$', views.UpdatePeon.as_view(), name='update_peon'),
и мой взгляд:
class UpdatePeon(generic.UpdateView):
login_required = True
template_name = 'appform/Peons/peon_form.html'
model = Person
form_class = PersonForm
success_url = reverse_lazy('view_peons')
Я хотел бы получить доступ к item.attr1
или по крайней мере item.pk
внутри класса, чтобы я мог изменить модель и форму соответственно, что-то вроде:
class UpdatePeon(generic.UpdateView):
login_required = True
template_name = 'appform/Peons/peon_form.html'
if item['attr1'] == "Attribute1":
model = model1
form = model1Form
else:
etc
success_url = reverse_lazy('view_peons')
Я знаю, как это сделать в обычном классе функций или даже если я переписываю представление на основе классов с нуля, но я не хочу этого делать.