Web2Py - تتطلب التحقق من قيم المنسدلة المحددة من ديسيبل
سؤال
لدي عضو في الجدول يتضمن 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 = 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" ، وهلم جرا.
لا تنتمي إلى StackOverflow