Уведомления

Группа в Telegram: @pythonsu

#1 Май 21, 2015 17:15:00

boligolov
От: СПб
Зарегистрирован: 2014-10-03
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

[Flask + wtforms] Связанный select

А как мне сделать, чтобы когда я изменяю один селект, по-второму у меня фильтр срабатывал

qboard = Board.query.filter_by(timber_id=ID).all()
вместо как у меня сейчас
qboard = Board.query.all()
ID берется из первого селекта.

models.py
class Board(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    wh = db.Column(db.Integer)
    ht = db.Column(db.Integer)
    timber_id = db.Column(db.Integer, db.ForeignKey("timber.id"))
class Timber(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    diam = db.Column(db.Integer)
    boards = db.relationship("Board", backref = 'timber')
forms.py
class AddForm(Form):
	
	chdiam = SelectField("timber", choices=[])
	chboard = SelectField("board", choices=[])
	count = TextField("count")
views.py
@app.route('/add', methods = ['GET', 'POST'])
def add():
    qtimber = Timber.query.all()
    tchoices = [(timber.id, timber.diam) for timber in qtimber]
    qboard = Board.query.all()
    bchoices = [(board.id, str(board.wh )+"x"+str(board.ht)) for board in qboard]
    form = AddForm()
    form.chdiam.choices = tchoices
    form.chboard.choices = bchoices
    return render_template('add.html',  form = form)

Прикреплённый файлы:
attachment dynamic-select.jpg (29,5 KБ)

Офлайн

#2 Май 21, 2015 17:16:45

boligolov
От: СПб
Зарегистрирован: 2014-10-03
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

[Flask + wtforms] Связанный select

Картинка вот такая

Прикреплённый файлы:
attachment 112.png (8,3 KБ)

Офлайн

#3 Май 21, 2015 17:24:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

[Flask + wtforms] Связанный select

  Ответ на вопрос: ajax



Офлайн

#4 Май 21, 2015 20:04:40

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

[Flask + wtforms] Связанный select

Если данных немного то можно и без ajax'а обойтись.

edit : пример

Отредактировано ayb (Май 21, 2015 20:09:43)

Офлайн

#5 Май 26, 2015 15:59:56

boligolov
От: СПб
Зарегистрирован: 2014-10-03
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

[Flask + wtforms] Связанный select

Пример тройного, если вдруг пригодится кому.
пример

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version