Наглядно:

выбрали первый, второй обновил значения.
Код:
def MyFormDynamic(request): form = MyForm(request) form.predpr_id.choices = [(g.id, g.name) for g in Predpr.query.order_by('name')] form.devices_id.choices = [(g.id, g.number) for g in Devices.query.order_by('id')] return form class MyForm(form.Form): predpr_id = fields.SelectField(u'Предприятия', choices=[], coerce=int) devices_id = fields.SelectField(u'Устройства', choices=[], coerce=int) display = fields.RadioField(u'Куда выложить:', choices=[ (True, u'На сервер'), (False, u'Локально'), ], default=True, )
И еще проблема, как можно сделать подобный поиск в обычном selectField, то есть не просто раскрывающийся список, а список с возможностью поиска подстроки как в случае с relationship:
