2009-08-19 7 views
1

ただ、だから私はこのようなmodel.pyを持って、私のPython/Djangoの経験を開始し、私は書き込みのPython/Djangoのビュー

:-)問題を抱えている:

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) 
iは1.高、2.Medium、3.Lowようなデータを格納する予定の優先テーブルで

とタスクテーブルの優先度が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

非常に多く!私はそれが何かシンプルであることを知っています:-))) –

+0

これは複数のSQLクエリを実行しますが、そうですか? – Flimm

0

必要なことを達成する方法はたくさんあります。最も簡単な方法の1つは、数字の辞書を文字列に保持することです。このように:1-> High、2-> Medium、3-> High。

このディクショナリをビュー機能の外部に置くと、優先権を必要とするビュー機能からこのディクショナリにアクセスできます。

また、テンプレートに何を表示するかを決定するスイッチを書くこともできます。

関連する問題