Написание представления Python / Django для «объединения» трех моделей / таблиц - PullRequest
1 голос
/ 19 августа 2009

Просто начните мой опыт работы с 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, а в таблице задач приоритет будет храниться как id (1, 2 или 3)

И вопрос в том, как написать представление, отображающее все мои задачи, но с именем Приоритет? Например:

name: Task 1

description: Description 1

priority: **High**

Ответы [ 2 ]

2 голосов
/ 19 августа 2009

Ваше мнение не должно делать много.

tasks = Tasks.objects.all()

Предоставьте это вашему шаблону.

Ваш шаблон может сделать что-то вроде следующего.

{% for t in tasks %}
    name: {{t.name}}
    description: {{t.description}}
    priority: **{{t.priority.name}}**
{% endfor %}
0 голосов
/ 19 августа 2009

Есть много способов выполнить то, что вам нужно. Одним из самых простых было бы сохранить словарь числа в строку. Вот так: 1-> Высокий, 2-> Средний, 3-> Высокий.

Храните этот словарь вне функций просмотра, чтобы вы могли получить к нему доступ из любой функции просмотра, которая должна получить приоритет.

Вы также можете просто написать переключатель, который определяет, что отображать в шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...