2014-04-23 2 views
2

foreach 루프 및 django를 사용하여 웹 페이지에 일부 데이터를 표시하려고합니다. 데이터베이스에서 만든 조회 테이블을 사용하는 방법을 이해하지 못하는 것 같습니다. Django - 데이터베이스 테이블 조회 사용 방법

은 DB에서 열 수 있습니다 : 당신은 아마 model.py에서 가정 수 있듯이

budget_audit_table: 
-BudgetID 
-BudgetTypeID <- Foreign Key 
-ObjectAuditID 
-CustomerID 
-DateOfTransaction 
-BudgetObject 
-Amount 

budget_type: 
-BudgetTypeID 
-BudgetType 

에서, BudgetTypeID는 외래 키입니다. BUDGET_TYPE 테이블에서 나는 현재 2 개 행이 : - 비용 : ID 1 - 수입 : 이제 ID 2

내가 지금 더 장고의 API를 이해하려고 몇 일 동안 검색 한되는 데 문제 및 나는 budget_audit_table에서 표시되는 각 행에 대해 어떻게해야하는지 이해하기 위해 고심하고 있는데, BudgetTypeID (예 : 1)를 표시하는 대신 BudgetType (예 : 비용)을 표시하는 방법은 무엇입니까? 여기

지금 & 템플릿

view.py

from django.contrib.auth.decorators import login_required 
from django.http import HttpResponse 
from django.template import RequestContext, loader 
from models import BudgetAuditTable 
from models import BudgetType 

@login_required 
def index(request): 
    budgetauditlist = BudgetAuditTable.objects.order_by('-budgetid') 
    template = loader.get_template('budget/budget.html') 
    context = RequestContext(request, { 
     'budgetauditlist': budgetauditlist, 
    }) 
    return HttpResponse(template.render(context)) 

템플릿

{% for budgetauditobject in budgetauditlist %} 
<tr> 
    <td>{{ budgetauditobject.budgetid }}</td> 
    <td>{{ budgetauditobject.budgettypeid }}</td> 
    <td>{{ budgetauditobject.objectauditid }}{{ budgetauditobject.customerid }}</td> 
    <td>{{ budgetauditobject.amount }}</td> 
</tr> 
{% endfor %} 

나는 "선택"장고 이벤트를 사용하지 않는 이유는 아마도 당신이 궁금 내이다 . 왜냐하면 저는 DB가 가능한 한 많이 다루어야하고 python을 묻고 받아들이는 것으로 생각하는 매우 데이터베이스 중심의 사람입니다.

EDIT 당신은 정말 모델을 표시해야

class BudgetAuditTable(models.Model): 
    budgetid = models.IntegerField(db_column='BudgetID', primary_key=True) 
    budgettypeid = models.ForeignKey('BudgetType', db_column='BudgetTypeID', blank=True, null=True) 
    objectauditid = models.IntegerField(db_column='ObjectAuditID', blank=True, null=True) 
    customerid = models.IntegerField(db_column='CustomerID', blank=True, null=True) 
    dateoftransaction = models.DateField(db_column='DateOfTransaction', blank=True, null=True) 
    budgetobject = models.CharField(db_column='BudgetObject', max_length=255, blank=True) 
    amount = models.DecimalField(db_column='Amount', max_digits=10, decimal_places=2, blank=True, null=True) 
class Meta: 
    managed = False 
    db_table = 'budget_audit_table' 

class BudgetType(models.Model): 
    budgettypeid = models.IntegerField(db_column='BudgetTypeID', primary_key=True) 
    budgettype = models.CharField(db_column='BudgetType', max_length=25, blank=True) 
class Meta: 
    managed = False 
    db_table = 'budget_type' 
+1

아무도 도와 줄 수 있습니까? 여전히 문제가 있습니다. – Tim

+0

조회 테이블 구현을 찾고 있습니다. :/ – IAbstract

답변

1

models.py. budgettypeid이 Django ForeignKey 필드 인 경우 budgetauditobject.budgettypeid은 실제 BudgetType 객체를 제공하고 일반 도트 표기법으로 해당 필드에 액세스 할 수 있습니다. 대신

+0

다시 시도했지만 여전히 결과에 대해서만 1을 반환합니다. – Tim

0

는 :

<td>{{ budgetauditobject.budgettypeid }}</td> 

당신은 시도 :

<td>{{ budgetauditobject.budgettypeid.budgettype }}</td> 

?

관련 문제