编写python/django视图以在三种型号/表中“加入”
-
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.和在任务表优先级之类的数据,将存储为ID(1、2或3)
问题是如何编写显示我所有任务但优先级的视图?例如:
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->高,2->中等,3->高。
将此字典保留在视图功能之外,以便您可以从需要获得优先级的任何视图功能中访问它。
您还可以简单地编写一个确定在模板中显示的开关。
不隶属于 StackOverflow