我正在从flask-WTForms表单中分配一个值以插入到postgres中。我正在使用此代码将值分配给字段
fabric_spool_number = form.fabric_spool_number.data
然后我运行标准插入命令将数据插入postgres表。但是,当我在pgAdmin中查看表时,如果一个字段留空,而不是显示一个空字段,则显示一个双撇号,即''。
编辑:
这是插入命令:
def insert(form):
cur.execute("INSERT INTO radio_archive_index_gui.radio_archive_index_gui_out (rai_number, carrier_format, physical_location, brand_title, recording_artist, producer, session, tx_date, network, programme_sub_category, programme_number, start_time_1, end_time_1, start_time_2, end_time_2, duration, part_number, number_of_parts, disc_number, number_of_discs, additional_info, notes, fabric_spool_number, username, edited_timestamp) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
(form.rai_number.data, form.carrier_format.data, form.physical_location.data, form.brand_title.data, form.recording_artist.data, form.producer.data, form.session.data, form.tx_date.data, form.network.data, form.programme_sub_category.data, form.programme_number.data, form.start_time_1.data, form.end_time_1.data, form.start_time_2.data, form.end_time_2.data, form.duration.data, form.part_number.data, form.number_of_parts.data, form.disc_number.data, form.number_of_discs.data, form.additional_info.data, form.notes.data, form.fabric_spool_number.data, form.username.data, dt))
con.commit()
以下是视图表单 - 只是说我尝试使用空格和None替换request.args.get命令中的撇号,但这不能解决问题:
@app.route('/results', methods=['GET', 'POST'])
def results():
form=SendForm()
ranumber = request.args.get('ranumber', '')
rai_number = request.args.get('rai_number', '')
brand_title = request.args.get('brand_title', "")
carrier_format = request.args.get('carrier_format', '')
recording_artist = request.args.get('recording_artist', '')
producer = request.args.get('producer', '')
session = request.args.get('session', '')
tx_date = request.args.get('tx_date', '')
network = request.args.get('network', '')
programme_number = request.args.get('programme_number', '')
start_time_1 = request.args.get('start_time_1', '')
end_time_1 = request.args.get('end_time_1', '')
start_time_2 = request.args.get('start_time_2', '')
end_time_2 = request.args.get('end_time_2', '')
duration = request.args.get('duration', '')
part_number = request.args.get('part_number', '')
number_of_parts = request.args.get('number_of_parts', '')
disc_number = request.args.get('disc_number', '')
number_of_discs = request.args.get('number_of_discs', '')
additional_info = request.args.get('additional_info', '')
notes = StringField = request.args.get('notes', '')
fabric_spool_number = form.fabric_spool_number.data
username = request.args.get('username', '')
if request.method == 'POST':
if form.validate_on_submit():
try:
models.insert(form)
except:
print ("hasn't worked")
else:
return redirect(url_for('success'))
else:
number_of_discs = form.number_of_discs.data
number_of_parts = form.number_of_parts.data
disc_number = form.disc_number.data
return render_template(
'results.html', title='Results', ranumber=ranumber, rai_number=rai_number,brand_title=brand_title,carrier_format=carrier_format,recording_artist=recording_artist,producer=producer,session=session,tx_date=tx_date,network=network,programme_number=programme_number,start_time_1=start_time_1,end_time_1=end_time_1,start_time_2=start_time_2,end_time_2=end_time_2,duration=duration,part_number=part_number,number_of_parts=number_of_parts,disc_number=disc_number,number_of_discs=number_of_discs,additional_info=additional_info,notes=notes,fabric_spool_number=fabric_spool_number,username=username,form=form
)
这是正常行为吗?如果没有,可能是什么原因造成的呢?
由于