Необходимо в зависимости от первого selectField (в котором столбец из таблицы подгружен) подставить во второй связанные по id записи из другой таблицы.

Наглядно:

выбрали первый, второй обновил значения.

Код:

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: