问一个django的问题(有新问题再次提问)

问一个django的问题(有新问题再次提问)

按照3楼修改下代码,遇到新问题,代码和显示见5楼

做一个产品管理的小应用.当查询出结果产生结果列表后我想在每条记录前做一个标记然后再用一个按钮将标记出的结果产生一个报告并在数据库中记录使用次数+1,并记录使用时间。我不清楚这个功能怎么做.我现在实现了产品的查询,结果前也加了checkbox,后边就不知道该如何实现了。

模板是这个样子的。
{% if query %}   
    <h2>Results for "{{ query|escape }}":</h2> {% if results %}   
     <ul> {% for product in results %}   
   {#   <li>{{ product|escape }}</l1>   #}
      <tr>
  <td><input type="checkbox" name="used" id="id_cc_myself" /></td>
  <td>{{ product.Product }}</td>
  <td>{{ product.Serial }}</td>
  <td>{{ product.usetimes }}</td>
  <td>{{ product.regist }}</td>
</tr>
   {% endfor %}   

views.py


def search(request):   
    query                 = request.GET.get('q', '')
    staryear         = request.GET.get('year', '')
    usesign                = request.GET.get('usesign','')
    if query:   
            if usesign == '0':
                qset = (Q(Product__icontains=query)  & Q(usetimes__isnull=True) &Q(BeginDate__icontains=staryear))
        elif usesign == '1':
                qset = (Q(Product__icontains=query)  & Q(usetimes__isnull=False) &Q(BeginDate__icontains=staryear))
        elif  usesign == '9':
                qset = (Q(Product__icontains=query)  &Q (BeginDate__icontains=staryear))
        results = CiscoSN.objects.filter(qset).distinct()   
    else:   
        results = []   
    return render_to_response("sn/search.html", {   
        "results": results,   
        "query": query,  
        "usesign":usesign,
    })

按钮提交以后获取所有checkbox值,然后循环一次所有的你选的ID

在循环里更新数据库。
<td><input type="checkbox" name="used" id="id_cc_myself" /></td>
按钮提交以后获取所有checkbox值,然后循环一次所有的你选的ID

这个该怎么写呢?我HTML不熟的说。
<td><input type="checkbox" name="used[]" id="111" /></td>
<td><input type="checkbox" name="used[]" id="222" /></td>
<td><input type="checkbox" name="used[]" id="333" /></td>

你这样输出,记得名字里有[],在提交之后你可以获取used这个变量,应该是数组类型。
你试试看。
呵呵,晚上回去试试,先谢了
模板里面我修改成这样了
  <form action="../report" method="GET">  
      <tr>
  <td><input type="checkbox" name="used[]" id='2' VALUE={{ product.Serial }}/></td>
  <td>{{ product.Product }}</td>
  <td>{{ product.Serial }}</td>

views.py中增加了
def report(request):
        sn_dict                = request.GET.get('used[]','')
        return render_to_response("sn/report.html", {   
        "used": sn_dict,   
    })

提交后浏览器中的url是



http://127.0.0.1:8000/sn/report/ ... B%5D=FDO1217Y2YX%2F


浏览器显示  结果是 F D O 1 2 1 7 Y 2 Y X /

貌似只是获得了最后一个serial。貌似uerd[]还是当个变量了