我有一个非常基本的联系模式。该模型包含以下字段:
class Entry(models.Model):
name = models.CharField(max_length=64, unique=False)
organization = models.CharField(max_length=100, unique=False, blank=True, null=True)
team = models.CharField(max_length=64, unique=False, blank=True, null=True)
position = models.CharField(max_length=64, unique=False, blank=True, null=True)
address = models.CharField(max_length=130, unique=False, blank=True, null=True)
...
def __unicode__(self):
return u'%s' % self.name
我有不同的模板来显示/编辑单个条目。我想完成以下任务。 查看单个记录时,我希望用户能够单击“组织”并重定向到一个模板,该模板列出该组织的数据库中的所有现有记录。我已经构建了模板,但我不确定视图代码。
我觉得它应该是这样的,但我不认为这是合法的。
def display_organization(request):
records = Entry.objects.filter(organization__exact=Context)
t = get_template('org_list.html')
html = t.render(Context({'records': records}))
return HttpResponse(html)
有人可以帮忙吗?
答案 0 :(得分:3)
您可能希望display_organization URL映射包含组织的参数:
('^organization/(?P<org_name>.+)$', 'myapp.views.display_organization'),
这样,您的display_organization函数也必须接受org_name参数:
def display_organization(request, org_name):
records = Entry.objects.filter(organization__exact=org_name)
html = get_template('org_list.html').render({'records': records})
return HttpResponse(html)
答案 1 :(得分:0)
依赖于URL,你会变得非常复杂。如果只有一两件事能以这种方式发挥作用,那就好了。
我会说,保持简单,只需使用request.GET
def display_organization(request):
records = Entry.objects.filter(organization__iexact=request.GET['organization'])
...