У меня есть форма заказа.Вместо того, чтобы обрабатывать один заказ за раз, я хочу дублировать форму и обрабатывать все формы одновременно.Я пробовал FormField, но не смог его обработать.
class OrderForm(Form):
date = DateField('Date',validators=[DataRequired()])
code = StringField('Order Code',validators=[DataRequired()])
item = QuerySelectField('Item',query_factory=items,get_label='code', allow_blank=False,validators=[DataRequired()])
season = QuerySelectField('Season',query_factory=seasons,get_label='code', allow_blank=False,validators=[DataRequired()])
qty = IntegerField('Quantity',validators=[DataRequired()])
unit = QuerySelectField('Units',query_factory=units,get_label='code', allow_blank=False,validators=[DataRequired()])
customer = QuerySelectField('Customer',query_factory=customers,get_label='name', allow_blank=False,validators=[DataRequired()])
Я пробовал это поле формы, но не смог его обработать
class ItemForm(Form):
sample_item = FormField(OrderForm)
мой взгляд:
def sample_order_details(pk):
title = "Sample Order Details"
if 'email' in session:
user = Admin.query.filter_by(email=session['email']).first()
order = SampleOrder.query.filter_by(code=pk).first()
items = SampleOrderItem.query.filter_by(order_code=pk).all()
if user is not None:
form = OrderForm(order_code=pk)
if request.method == 'POST':
if form.validate() == False:
return render_template('order/sample_order_details.html',
name=sample_order_details,
user=user,
title=title,
form=form,
order=order,
items=items
)
else:
newsampleitem = SampleOrderItem(
form.item_code.data,
form.season_code.data,
form.qty.data,
form.unit_code.data,
form.order_code.data,
)
db.session.add(newsampleitem)
db.session.commit()
print(newsampleitem)
code = form.order_code.data
return redirect(url_for('order.sample_order_details', pk=code))
else:
return render_template('order/sample_order_details.html',
name=sample_order_details,
form=form,
title=title,
user=user,
order=order,
items=items
)
else:
return redirect('index')
else:
return redirect('admin.login')