Web2Py - تتطلب التحقق من قيم المنسدلة المحددة من ديسيبل

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 = 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