ฉันกำลังเขียน Django จากโปรแกรมติดตามข่าวสารของวัตถุ(Objekt)และพวกเขาซ่อมบำรุงรางงาน. Objekts สามารถเป็นเกี่ยวข้องกับตำแหน่งที่อยู่
ตำแหน่ง(0/1)---(n)Objekt(1)---(n)งาน
สถานที่ Objekt และงานทุกคนจะมีสถานะของสนามกับรอยตามค่าต่างๆ:
RED = "red"
YELLOW = "yellow"
GREEN = "green"
STATUS = [
(RED, "Overdue tasks"),
(YELLOW, "Pending tasks"),
(GREEN, "All good"),
]
ฉันต้องการให้ตำแหน่งแผนที่ปากกามาร์คเกอร์เปลี่ยนแปลงสีจากพื้นฐานสถานะของที่เกี่ยวข้องกั Objekts และ ultimatelly งาน.
ฉันจะพยายามตาม django ที่ดีที่สุดที่ฝึก แล้วสร้างอ้วนคุณครูแต่พอกลับมา
from django.db import models
from locationapp.models import Location
from taskapp.models import Task
from rules.contrib.models import RulesModel
class Objekt(RulesModel):
RED = "red"
YELLOW = "yellow"
GREEN = "green"
STATUS = [
(RED, "Overdue tasks"),
(YELLOW, "Pending tasks"),
(GREEN, "All good"),
]
name = models.CharField(max_length=200)
description = models.TextField(blank=True)
location = models.ForeignKey(
Location, on_delete=models.SET_NULL, null=True, blank=True
)
status = models.CharField(max_length=6, choices=STATUS, default=GREEN)
def set_status(self):
if Task.objects.filter(objekt=self.id).filter(status=Task.RED).exists():
self.status = Objekt.RED
elif Task.objects.filter(objekt=self.id).filter(status=Task.YELLOW).exists():
self.status = Objekt.YELLOW
else:
self.status = Objekt.GREEN
แต่ยังไงก็ตามฉันไม่ค่อยแน่ใจเกี่ยวกับเรื่องของฉันสงครามแย่งชิงยุทธศาสยู่ที่นี่ได้ยังไงความคืบหน้าเรื่องงานกระตุ้นความคืบหน้าเรื่องเกี่ยวข้องกั Objekt. แล้วจะ Objekt ต่อไปกระตุ้นที่ปรับปรุงอยู่ที่ตำแหน่งถ้าต้องการที่ทั้งหมดเหรอ?