比较数据库日期和用户输入

时间:2014-01-20 15:40:36

标签: python web2py

在下拉列表中,我有一些值,例如今天截止,明天到期,今年,本月。当用户从下拉列表中选择任何选项时。我想根据选项从表中获取数据。如果我今天选择到期,应该只显示今天的日期记录。如果我选择本月,只显示月度记录我无法理解我如何将字符串转换为日期。并与数据库进行比较。 def 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)

任何人都可以帮助我 谢谢 Rohit Raj Sharma

1 个答案:

答案 0 :(得分:0)

你不需要两个功能

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()