Varolan bir model için bir düzenleme sayfası oluşturmaya çalışıyorum (zaten db'ye kaydedilmiş). Form nesnesi, çokdisimli bir örneğinin alanlarını doldurmasını bekler.Flask - db modellerini düzenlemek için Flask-WTF ve Flask-SQLAlchemy'yi nasıl birleştiririm?
# the model - assumes Flask-SQLAlchemy
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True)
def __init__(self, name=name):
self.name = name
# the form - assumes Flask-WTF ext.
from flask.ext.wtf import Form, TextField, Required, BooleanField
class PersonForm(Form):
name = TextField('name')
## the view
@app.route('/person/edit/<id>/', methods=['GET', 'POST'])
def edit_person(id):
person = Person.query.get(id)
if person:
form = PersonForm(person) #<-- raises error
return render_template('edit_person.html', form=form)
Modelin (form.data['name'] = person.name, etc...)
her alanına şeklinde her alanı atamak, ama bu büyük modeller için gereksiz görünüyor: Bu aldığım şeydir. Kaybettiğim kısayol var mı?
Sanırım bunu kaçırdım - teşekkürler! – sa125
Özel tanımlı formunuz, bu db alanları ile aynı alan adlarına sahip olduğu sürece. – Infamy