@inalan

Flask хранить файл в базу данных?

Как сохранить файл в базе данных так чтобы каждый
Ticket
имел свой файл прикрепленный к нему? Надо именно сделать так чтобы к каждому Ticket был прикреплен свой файл. Использую Flask wtf Forms для user prompt.
вот мой код
class Files(db.Model):
        id = db.Column(db.Integer,primary_key=True)
        description = db.Column(db.String(140),nullable=False)
        file = db.Column(db.LargeBinary)
        timestamp = db.Column(db.DateTime, default=datetime.utcnow)
        author = db.Column(db.Integer, nullable=True)
        ticket_id = db.Column(db.Integer, db.ForeignKey('tickets.id'),nullable=False)

class AddFile(FlaskForm):
       description = StringField('Description',validators=[DataRequired()])
       file = FileField('Files',validators=[FileRequired()])
       submit = SubmitField('Upload')

@app.route('/ticket/<ticket_id>',methods=['GET','POST'])
@login_required
def ticket(ticket_id):
        if fileform.validate_on_submit() and fileform.file.data:
            newFile = Files(description=fileform.description.data,file=fileform.file.data.read(),author = current_user.username)
            db.session.add(newFile)
            db.session.commit()
            flash('Your file has been uploaded.')
            return redirect(url_for('ticket', ticket_id=ticket_id))
        return render_template('ticket.html',ticket=ticket,fileform=fileform,filemodel=filemodel)
  • Вопрос задан
  • 334 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы