У меня есть SQLFORM.factory на странице, которую я использую (среди прочего), обновление определенного поля в таблице. Это поле является выпадающим столом я сделал вот такweb2py SQLFORM.factory значения по умолчанию не обновляются
Field('visibility',requires=IS_IN_SET(['everyone','subscribers','friends','nobody']))
Так поле в SQLFORM.factory выглядит так же. Разница в том, что я хочу, чтобы значение по умолчанию в SQLFORM.factory являлось текущим значением этого поля в конкретной таблице. по умолчанию. Я делаю запрос на нужную запись в таблице, выбираю это поле, и это становится моим значением по умолчанию, выбранным параметром. Совершенствуйте первый раз, когда вы загружаете его. я делаю обновление после того, как форма принимает как так и обновление работает функционально:
if subForm.accepts(request,session,dbio=True):
if myForm.vars.visible != theDefault:
db(row).update(visibility = subForm.vars.visibility)
Если вы отправляете страницу выбранного варианта не является текущим значением этого поля в таблице, это всегда один это было предыдущая. Если я посмотрю на мою администрацию базы данных, таблица обновилась отлично, но я не смог выбрать правильный вариант для выбора в качестве моего значения по умолчанию. Если мой дефолт был «все», а затем я выбираю и отправляю «друзей», то выбранный, когда перезагрузка страницы после отправки все равно «все». Если я затем выберем и отправлю «никто», после обновления это «друзья».
Если это помогает, я показываю, что этот SQLFORM.factory находится в и iFrame как часть более крупной страницы.