Сравните дату базы данных с пользовательским вводом

В раскрывающемся списке у меня есть несколько значений, таких как «Срок выполнения сегодня», «Срок выполнения завтра», «В этом году», «В этом месяце». Когда пользователь выберет любой вариант из раскрывающегося списка. Я хочу получить данные из таблицы в соответствии с опцией. если я выберу срок сегодня, должна отображаться только сегодняшняя запись даты. если я выберу этот месяц, должна отображаться только месячная запись. Я не могу понять, как я могу преобразовать строку в дату. и сравнить с базой данных. определение abc(): Модель

db.define_table('Birthday',
   Field('Name',label='name'),
   Field('assignment','text'),
   Field('bdate','date')

Вид

function showcnf()
{
var x=document.forms["cnf"]["sub"].value;
if (x==null || x=="")
  {
  alert("Please select the value ");
  return false;
  }

</script> 


<form name="cnf" action="{{=URL('default','subquery')}}" method="post" onsubmit="return showcnf()" >
<select name="sub">
  <option value="Due Today">Due Today</option>
  <option value="Due Tommarow">Due Tomorrow</option>
  <option value="Due This Month">Due This Month</option>
     <option value="Due This Month">Due This Month</option>


</select>
<input type="submit" value="Submit">
</form>
{{=grid}}

В контроллере я использовал 2 функции. Первый для ввода и второй, который я пытаюсь сравнить. но я не умею. я понятия не имею, как это сделать. я пошел бросить следующую ссылку

http://pleac.sourceforge.net/pleac_python/datesandtimes.html

я не нашел что-то для меня.

Контроллер

def abc():

    subject=request.vars.sub
    if subject == 'Due Today':
        redirect(URL(r=request,f='jmd' ))

    if subject == 'Due Tommarow':
        redirect(URL(c='default',f='jmd'))
    if subject == 'Due This Month':
        redirect(URL(c='default',f='jmd'))


    response.flash = T("its working !")

    return dict()




def jmd():
    table=SQLFORM.grid(db.Birthday,create=False,deletable=False,editable=False,csv=False)
    response.flash = T("done")
    return dict(grid=table)

Может ли кто-нибудь помочь мне в этом? Спасибо, Рохит Радж Шарма.


person Rohit Raj    schedule 20.01.2014    source источник


Ответы (1)


вам не нужны две функции

def abc():

subject=request.vars.sub
if subject == 'Due Today':
    queries = (db.Birthday==datetime.date.today())

if subject == 'Due Tommarow':
    queries = ...
if subject == 'Due This Month':
    queries = ...


response.flash = T("its working !")
table=SQLFORM.grid(queries,create=False,deletable=False,editable=False,csv=False)

return dict()
person user1474424    schedule 03.04.2014