2009-08-19 2 views
1

를 통해 "참여"하고쓰기 파이썬/장고보기 그냥 내 파이썬/장고 경험을 시작하는 세 가지 모델/테이블

그래서 내가 이런 model.py이 :-) 나는 문제가있다 :

from django.db import models 

class Priority(models.Model): 
    name = models.CharField(max_length=100) 

class Projects(models.Model): 
    name = models.CharField(max_length=30) 
    description = models.CharField(max_length=150) 
    priority = models.ForeignKey(Priority) 

class Tasks(models.Model): 
    name = models.CharField(max_length=30) 
    description = models.CharField(max_length=40) 
    priority = models.ForeignKey(Priority) 
을 난 1. 높은, 2.Medium, 3. 낮은 등의 데이터를 저장할 예정 우선 순위 테이블에서와 작업에

표 우선 순위 ID (1, 2 또는 3)

저장되며 문제는 어떻게 모든 작업을 표시하지만 Priority라는 이름의보기를 작성 하시겠습니까? 예 :

name: Task 1 

description: Description 1 

priority: **High** 

답변

2

보기가별로 도움이되지 않습니다.

tasks = Tasks.objects.all() 

템플릿에 제공하십시오.

템플릿은 다음과 같이 할 수 있습니다.

{% for t in tasks %} 
    name: {{t.name}} 
    description: {{t.description}} 
    priority: **{{t.priority.name}}** 
{% endfor %} 
+0

ty 대단히! 나는 그것이 단순한 무엇인지 알고있다 :-))) –

+0

이것은 하나 이상의 SQL 쿼리를 실행하지만, 맞습니까? – Flimm

0

필요한 것을 수행하는 방법은 다양합니다. 가장 쉬운 방법 중 하나는 숫자의 사전을 문자열로 유지하는 것입니다. 이렇게 : 1-> 높음, 2-> 중간, 3-> 높음.

우선 순위를 가져야하는보기 기능에서이 사전에 액세스 할 수 있도록이 사전을보기 기능 외부에 두십시오.

템플릿에 표시 할 내용을 결정하는 스위치를 간단히 작성할 수도 있습니다.