web2py - требует выбранных раскрывающихся значений, подтверждающих DB

StackOverflow https://stackoverflow.com/questions/1584909

  •  22-09-2019
  •  | 
  •  

Вопрос

У меня есть участник таблицы, который включает SQLField("year", db.All_years)

и таблица All_years как следующее:

db.define_table("All_years",
  SQLField("fromY","integer"),
  SQLField("toY","integer")
  )

и ограничения:

db.member.year.requires = IS_IN_DB(db, 'All_years.id','All_years.fromY')

Проблема заключается в том, что я выбираю год после раскрывающегося списка. Столбец стоимости года является идентификатором года, а не значением года, например: если в 2009 году есть DB ID = 1 Значение года в DB равно = 1 не равно 2009.

Я не понимаю, почему.

Это было полезно?

Решение

Я вижу, что ваш проект прогрессирует хорошо!

Валидатор есть IS_IN_DB(dbset, field, label). Анкет Итак, вы должны попробовать:

db.member.year.requires = IS_IN_DB(db, 'All_years.id', '%(fromY)d')

Чтобы иметь правильную метку в вашем раскрывающемся списке.

Теперь из вашего таблицы, похоже, вы предпочитаете выбрать интервал, а не только начальный год, в этом случае вы можете использовать это:

db.member.year.requires = IS_IN_DB(db, 'All_years.id', '%(fromY)d to %(toY)d')

Это будет отображаться, например, "с 1980 по 1985 год" и т. Д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top