كتابة python / django عرض "الانضمام" عبر ثلاث نماذج / جداول

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

  •  18-09-2019
  •  | 
  •  

سؤال

فقط ابدأ تجربة بيثون / 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.High، 2.Medium، 3. سيتم تخزين أولوية جدول المهام كمعرف (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-> عالية.

احتفظ بهذا القاموس خارج وظائف العرض الخاصة بك حتى تتمكن من الوصول إليه من أي من وظائف العرض الخاصة بك التي تحتاج إلى الحصول على الأولوية.

يمكنك أيضا كتابة مفتاح يحدد ما يجب عرضه في القالب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top