2009-12-14 10 views
0

저는 아주 기본적인 접촉 모델을 가지고 있습니다. 이 모델의 필드는 다음과 같습니다.쿼리 필터 내의 컨텍스트?

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 

개별 항목을 표시/편집하기위한 템플릿이 다릅니다. 나는 다음과 같은 것을 성취하고자한다. 개별 레코드를 볼 때 "조직"을 클릭하고 해당 조직의 db에있는 기존 레코드를 모두 나열하는 템플릿으로 리디렉션 할 수있게하고 싶습니다. 템플릿을 만들었지 만 뷰 코드가 확실하지 않습니다.

나는 이런 식으로해야한다고 생각하지만, 그것이 합법이라고 생각하지 않습니다.

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) 

누구든지 도와 줄 수 있습니까?

답변

3

당신은 아마 display_organization의 URL 맵이 조직을위한 매개 변수를 포함 할 : 그와

('^organization/(?P<org_name>.+)$', 'myapp.views.display_organization'), 

을 너무 ORG_NAME 매개 변수 동의해야합니다 display_organization 기능 :

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) 
+0

를 간단하게 그냥 사용,라고 말하고 싶지만

는 타입 오류가 발생합니다. "display_organization()은 정확히 2 개의 인수 (주어진 1 개)를 사용합니다" 은 구문을 좋아하지 않는 것 같습니다. 그래도 고마워. – kjarsenal

+0

이 작업을 수행하려면 URL에 해당하는 변경 작업을 수행해야합니다. 템플릿을 사용하여 * 사용할 조직을 어떻게 알 수 있습니까? – jcdyer

0

당신을 만들고있어 URL에 따라 상당히 복잡합니다. 그렇게 작동하는 것이 하나 또는 두 가지라면 괜찮습니다. 내가 request.GET

def display_organization(request): 
    records = Entry.objects.filter(organization__iexact=request.GET['organization']) 
    ...