1

刚开始我的 Python/Django 体验,我有一个问题 :-)

所以我有一个这样的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.High、2.Medium、3.Low 等数据,在 Tasks 表中,优先级将存储为 id(1、2 或 3)

问题是如何编写一个视图来显示我的所有任务但命名为优先级?例如:

name: Task 1

description: Description 1

priority: **High**
4

2 回答 2

2

你的观点不必做太多。

tasks = Tasks.objects.all()

将此提供给您的模板。

然后,您的模板可以执行以下操作。

{% for t in tasks %}
    name: {{t.name}}
    description: {{t.description}}
    priority: **{{t.priority.name}}**
{% endfor %}
于 2009-08-19T15:37:20.347 回答
0

有很多方法可以完成您所需要的。最简单的方法之一是将数字字典保留为字符串。像这样:1-> 高,2-> 中,3-> 高。

将此字典保留在您的视图函数之外,以便您可以从任何需要获得优先级的视图函数中访问它。

您也可以简单地编写一个开关来确定在模板中显示什么。

于 2009-08-19T15:27:21.970 回答