Мне нужно создать выпадающий список, в котором пользователь может выбрать значение из
раскрывающийся список или введите значение. Значения раскрывающегося списка хранятся
в таблице базы данных.
Например: форма выглядит так:
«Откуда вы?»: Выпадающий список доступных городов, если ваш
город не найден введите в вашем городе.
Я попробовал этот код:
Field('City', requires = IS_IN_DB(db,db.city.id,'%(city)s')
С этим кодом я не могу войти в новый город, если он отсутствует в
базы данных.
Я могу выбрать только доступные города в базе данных.
Модель:
db.define_table('city',Field('name',type='string',length=100,required=True
,notnull=True, ondelete='SET NULL',unique=True),format='%(name)s')
db.define_table('person',Field('name',type='string',length=100,required=Tr
ue,notnull=True, ondelete='SET NULL',unique=True),
Field('city_id','reference city',required=True,notnull=True,label='City'),
format='%(name)s')
db.person.city_id.requires=IS_IN_DB(db,'city.id' ,'%(city)s')
Контроллер:
def person():
return
dict(grid=sqlform.grid(db.person,create=True,editable=True,deletable=True)
)
View:
{{extend 'layout.html'}}
<div class="row">
<div class="col-md-12">
{{pass}}
{{=grid}}
</div>
</div>