Python/Djangoビューを書くには、3つのモデル/テーブルに「参加」します

StackOverflow https://stackoverflow.com/questions/1300657

  •  18-09-2019
  •  | 
  •  

質問

私の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)

優先順位の表では、1。ハイ、2.medium、3。low、およびタスクのようなデータを保存する予定です。

そして、問題は、すべてのタスクを表示しますが、優先順位が付いているビューをどのように書くかということです。例えば:

name: Task 1

description: Description 1

priority: **High**
役に立ちましたか?

解決

あなたの見解はあまりする必要はありません。

tasks = Tasks.objects.all()

これをテンプレートに提供します。

テンプレートは次のようなことを行うことができます。

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

他のヒント

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

この辞書をビュー関数の外側に保管してください。そうすれば、優先順位を得る必要があるビュー関数からアクセスできるようにします。

テンプレートに表示するものを決定するスイッチを単純に書き込むこともできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top