Код: Выделить всё
class Country(db.Model):
__tablename__ = 'countries'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
users = db.relationship('User', backref='countries', lazy='dynamic')
class City(db.Model):
__tablename__ = 'cities'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
countries_id = db.Column(db.Integer, db.ForeignKey('countries.id'))
Например, пользователь выбирает Австралию в поле «Страна», затем второе Поле выбора штата должно содержать только штаты Австралии.
Я провел небольшое исследование по этой теме и не смог найти удовлетворительного решения. Вот два возможных, но неудовлетворительных решения, которые я нашел.
1. Используйте плагин jQuery, например. Прикованный. Однако этот плагин требует построчного кодирования. Если я приму это решение, будет еще как минимум 400+ строк, и это не очень питонично. Например:
Код: Выделить всё
--
3 series
5 series
6 series
A3
A4
A5
Код: Выделить всё
class UserDetails(Form):
group_id = SelectField(u'Group', coerce=int)
def edit_user(request, id):
user = User.query.get(id)
form = UserDetails(request.POST, obj=user)
form.group_id.choices = [(g.id, g.name) for g in Group.query.order_by('name')]
Подробнее здесь: https://stackoverflow.com/questions/259 ... g-the-page
Мобильная версия