ich baue eine Datenbank, welche ich mit der request.form/request.files mit daten fülle.
Dabei bleiben beim "Updaten" der DB-Postionen ohne Veränderung die Daten erhalten.
Beim request.files wird dies allerdings auch leer überschrieben und ich verstehe nicht warum, da der Code für die anderen Stellen genau gleich aufgebaut ist.
Aufbau:
Code: Alles auswählen
class HPLCMETHODS(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(100))
eluent = db.Column(db.String(500))
column = db.Column(db.String(500))
comment = db.Column(db.String(500), nullable = True)
temperatur = db.Column(db.String(500), nullable = True)
flow = db.Column(db.String(500), nullable = True)
mitarbeiter = db.Column(db.String(500), nullable = True)
retentiontime = db.Column(db.String(500), nullable = True)
gerät = db.Column(db.String(500), nullable = True)
data = db.Column(db.LargeBinary)
def __init__(self, name, eluent, column, comment, temperatur, flow, retentiontime, mitarbeiter, gerät, data):
self.name = name
self.eluent = eluent
self.column = column
self.comment = comment
self.temperatur = temperatur
self.flow = flow
self.retentiontime = retentiontime
self.mitarbeiter = mitarbeiter
self.gerät = gerät
self.data = data
Code: Alles auswählen
if request.method == 'POST':
if not request.form['name'] or not request.form['eluent'] or not request.form['column']:
flash('Alle Felder beachten.', 'error')
else:
hplcmethod = HPLCMETHODS(request.form['name'], request.form['eluent'], request.form['column'], request.form['comment'], request.form['temperatur'], request.form['flow'], request.form['retentiontime'], request.form['mitarbeiter'], request.form['gerät'], request.files['inputFile'].read())
Code: Alles auswählen
def update(id):
method_update = HPLCMETHODS.query.get_or_404(id)
if request.method == 'POST':
method_update.name = request.form['name']
method_update.eluent = request.form['eluent']
method_update.column = request.form['column']
method_update.comment = request.form['comment']
method_update.temperatur = request.form['temperatur']
method_update.flow = request.form['flow']
method_update.mitarbeiter = request.form['mitarbeiter']
method_update.retentiontime = request.form['retentiontime']
method_update.gerät = request.form['gerät']
file = request.files['inputFile'].read()
method_update.data = file
try:
db.session.commit()
flash("Methode bearbeitet")
return redirect(url_for('show_all'))
Grüße
Karlirex