关于django条件显示记录的问题

关于django条件显示记录的问题

如题
条件显示记录
比如只显示最新更新的一条记录
或者显示字段值相同的记录

请问该怎么实现?
是在PYTHON里面改还是在模板里面改?
我想做一个搜索论坛的主题列表,要做一个搜索框,首先我想起的是django源代码中的那个
搜索用户的框,我看了它的源代码,我学习python的时间不是很多,因此理解得不是很透彻,
但是当我看到里面的源代码时,发现
from django.db import models
from django.shortcuts import render_to_response
from mybbs.models import *
from django import forms
from django.conf import settings
from django.contrib.auth.models import User
from django.db.models import Q
from django.core import validators
这些我原先不是太清楚的地方,现在比较清晰明确了。我理解为什么这样了!
看来本身django源代码就是一个学习的教材!!
首先我看了django step by step,然后发现有个搜索功能,然后结合自己,代码如下,因此如下,
#首先这个定义在models中的(这是一个bbs中的一个表):
class Topic(models.Model):
    topic_forum = models.ForeignKey(Forum, verbose_name="Forum" # Forum of the topic
    topic_name = models.CharField(maxlength=255, verbose_name="Topic Title" # name of the topic
    topic_author = models.CharField(maxlength=255, verbose_name="Author", blank=True) # topic author
    topic_posts = models.PositiveIntegerField(default=0, blank=True, verbose_name="osts" # number of posts
    topic_lastpost = models.CharField(maxlength=255, verbose_name="Last Post" # last poster etc.
    topic_modification_date = models.DateTimeField(auto_now = True) # last post date
    class Meta:
        verbose_name = "Topic"
        verbose_name_plural = "Topics"
    def __str__(self):
        return self.topic_name
###############################################################
#这个就是视图views中的search_list方法:
from django.views.generic.list_detail import object_list
def search_list(request):
    topic_name = request.REQUEST['search']
    if topic_name:
        extra_lookup_kwargs = {'topic_name__icontains':topic_name} ###@@@@@
        extra_context = {'searchvalue':topic_name}                 
#        return object_list(request, Address,
#            paginate_by=10, extra_context=extra_context,
#            extra_lookup_kwargs=extra_lookup_kwargs)
        return object_list(request, Topic.objects.filter(topic_name__icontains=topic_name), #这一行同上一样
            paginate_by=10, extra_context=extra_context)
    else:
    return render_to_response('mybbs/nomatch.html', {'why': _('Not match')})

#打这个标记###@@@@@的这行,中第一个topic_name为models中定义的字段,要搞清,还有__icontains也要写上去,这样就可以模糊搜索了。。
######################################################################  


#模板如下:
{% extends "body.html" %}
{% block content %}
<div class="blocktable">
    <h2><span>所搜到的主题列表</span></h2>
    <table width="40" border="1" cellspacing="0">
       <tr>
              <td width="35%" align="left">主题</th>
          <td width="10%" align="center">作者</th>
          <td width="10%" align="center">osts</th>
          <td align="center">Last Post</th>
      </tr>
            
{% for search_topic in object_list %}
      <tr>
          <td align="left">{{ search_topic.topic_name }}</td>
          <td align="center"><a href="/user/show_profile/{{ topic.topic_author }}/">{{ search_topic.topic_author }}</a></td>
              <td align="center">{{ search_topic.topic_posts }}</td>
          <td align="center">{{ search_topic.topic_lastpost }}</td>
      </tr>
{% endfor %}         
    </table>
{% endblock %}
############################################################
#在这里做个笔记!
django写东西,实在是太方便了