मैं लिख रहा हूँ एक Django के आधार करने के लिए आवेदन का ट्रैक रखने के लिए वस्तुओं (वस्तु का) और उनके रखरखाव कार्यों. Objekts कर सकते हैं जोड़ा जा करने के लिए एक स्थान है ।
स्थान (0/1) --- (n) वस्तु (1) --- (n) कार्य
स्थान, वस्तु और कार्य के सभी एक की स्थिति के साथ क्षेत्र निम्न मान है:
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
लेकिन किसी तरह मैं यकीन नहीं कर रहा हूँ के बारे में मेरी अवधारणा यहाँ... कैसे कर सकते हैं पर एक अद्यतन कार्य ट्रिगर पर एक अद्यतन संबंधित वस्तु. और कैसे होगा वस्तु आगे अद्यतन ट्रिगर स्थान पर - यदि आवश्यक सब पर?