Schreiben Sie Python/Django -Ansicht, um drei Modelle/Tabellen zu „beitreten“

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

  •  18-09-2019
  •  | 
  •  

Frage

Beginnen Sie einfach meine Erfahrung mit Python/Django und ich habe ein Problem :-)

Also habe ich ein Modell wie folgt:

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)

In der Prioritätstabelle I plane ich, Daten wie 1.hohe, 2.medium, 3. Low und in der Tasks -Tabelle Priorität zu speichern, als ID (1, 2 oder 3) gespeichert werden (1, 2 oder 3).

Und die Frage ist, wie man eine Ansicht schreibt, in der alle meine Aufgaben angezeigt werden, aber mit der genannten Priorität. Zum Beispiel:

name: Task 1

description: Description 1

priority: **High**
War es hilfreich?

Lösung

Ihre Ansicht muss nicht viel tun.

tasks = Tasks.objects.all()

Geben Sie dies Ihrer Vorlage an.

Ihre Vorlage kann dann so etwas wie folgt tun.

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

Andere Tipps

Es gibt viele Möglichkeiten, das zu erreichen, was Sie brauchen. Eine der einfachsten wäre es, ein Wörterbuch der Anzahl auf String zu halten. So wie dieses: 1-> hoch, 2-> mittel, 3-> hoch.

Halten Sie dieses Wörterbuch außerhalb Ihrer Sichtfunktionen, damit Sie aus Ihren Ansichtsfunktionen zugreifen können, die die Priorität erhalten müssen.

Sie können auch einfach einen Switch schreiben, der feststellt, was in der Vorlage angezeigt werden soll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top