Я создал таблицу с формами django. Формы действительно получают данные из базы данных из двух разных моделей. Поскольку эта форма имеет 42 поля, состоящих из 7 дней и 6 смен, я хотел бы сохранить ее как таблицу, в которой она отображается. Есть какой-либо способ сделать это?
forms.py
class EditSchedule(forms.Form):
def __init__(self,*args,**kwargs):
super(EditSchedule, self).__init__(*args,**kwargs)
for k in range(1,8):
for i in range(1,7):
self.fields["S"+str(i)+"D"+str(k)] = forms.ChoiceField(choices=get_my_choices(i,k))
self.fields["S"+str(i)+"D"+str(k)].widget.attrs.update({"class":"form-control select2 select2-hidden-accessible"})
html файл
<div class = "box">
<form method = "POST" action = "">{% csrf_token %}
<div class = "box-body">
<div class = "table-container table-responsive">
<table class = "table table-bordered table-hover dataTable" role = "grid" >
<thead>
<tr>
<th class = "shicht"><h3>Schicht</h3></th>
<th class = "montag"><h3>Montag</h3></th>
<th class = "dienstag"><h3>Dienstag</h3></th>
<th class = "mittwoch"><h3>Mittwoch</h3></th>
<th class = "donnerstag"><h3>Donnerstag</h3></th>
<th class = "freitag"><h3>Freitag</h3></th>
<th class = "samstag"><h3>Samstag</h3></th>
<th class = "sonntag"><h3>Sonntag</h3></th>
</tr>
</thead>
<tbody>
<tr class = "even">
<td class = "shicht">Schicht 1</td>
<td class = "montag">{{ form.S1D1 }}</td>
<td class = "dienstag">{{ form.S1D2 }}</td>
<td class = "Mittwoch">{{ form.S1D3 }}</td>
<td class = "donnerstag">{{ form.S1D4 }}</td>
<td class = "freitag">{{ form.S1D5 }}</td>
<td class = "samstag">{{ form.S1D6 }}</td>
<td class = "sonntag">{{ form.S1D7 }}</td>
</tr>
<tr class = "odd">
<td class = "shicht">Schicht 2</td>
<td class = "montag">{{ form.S2D1 }}</td>
<td class = "dienstag">{{ form.S2D2 }}</td>
<td class = "Mittwoch">{{ form.S2D3 }}</td>
<td class = "donnerstag">{{ form.S2D4 }}</td>
<td class = "freitag">{{ form.S2D5 }}</td>
<td class = "samstag">{{ form.S2D6 }}</td>
<td class = "sonntag">{{ form.S2D7 }}</td>
</tr>
<tr class = "even">
<td class = "shicht">Schicht 3</td>
<td class = "montag">{{ form.S3D1 }}</td>
<td class = "dienstag">{{ form.S3D2 }}</td>
<td class = "Mittwoch">{{ form.S3D3 }}</td>
<td class = "donnerstag">{{ form.S3D4 }}</td>
<td class = "freitag">{{ form.S3D5 }}</td>
<td class = "samstag">{{ form.S3D6 }}</td>
<td class = "sonntag">{{ form.S3D7 }}</td>
</tbody>
</table>
</div>
</div>
<input type = "submit" value = "Save">





Вы можете использовать для этого сырые запросы. Для захвата полей формы вы можете использовать "чистые" методы в базовом классе формы, см. проверка форм
Да, вы можете перезаписать методы базового класса. определите метод публикации в своем FormView и верните правильный ответ.
Не могли бы вы привести пример того, как реализовать это в первой форме S1D1? Понятия не имею, с чего начать.
вы можете определить метод в своей форме, переопределить метод чистый() в классе формы для получения данных. но вы должны пропустить это со своего взгляда. извините, я не могу больше помочь в данный момент. я вижу это в гугле, может быть, это дает вам представление gist.github.com/vero4karu/ec0f82bb3d302961503d
Я пробовал пример github. Но я сохраняю только один идентификатор.
Спасибо!! можно ли использовать эти запросы в Formview?