Es wird davon ausgegangen, dass der Status des Taskmodellobjekts vom Statusmodell beschrieben wird. (Beschreiben Sie eine Eins-zu-Eins-Beziehung zwischen dem Aufgabenmodell und dem Statusmodell.)
Schreiben Sie die Statusmodellklasse wie gewohnt.
models/status.py
"""
Model for status
"""
from django.db import models
class Status(models.Model):
"""
Status for Task
"""
name = models.CharField('Status', max_length=30, blank=False)
Beschreiben der externen Schlüsselbeschränkungen auf der Seite der Taskklasse
models/task.py
from django.db import models
from datetime import datetime
from webui.models.status import Status
class Task(models.Model):
"""
Task to do.
"""
name = models.CharField('Aufgabennname', max_length=30, blank=False)
startTime = models.DateTimeField('Startzeit', blank=True)
endTime = models.DateTimeField('Endzeit', blank=True, null=True)
memo = models.CharField('Memo', max_length=200, blank=True)
# status = models.CharField('Status', max_length=20, default='noch nicht angefangen', blank=False)
status = models.ForeignKey(Status)
status = models.ForeignKey(Status)
Dieser Teil beschreibt die Viele-zu-Eins-Beziehung zwischen dem Aufgabenmodell und dem Statusmodell. ** Damit ist die Beschreibung der externen Schlüsselbeschränkung abgeschlossen **
Suchen Sie nach einer anderen Möglichkeit, ein beliebiges Feld auf der Admin-Site anzuzeigen. (Wirst du es bald schreiben?)
Selbst wenn das Task-Objekt festgelegt ist, lautet das Statuselement "Statusobjekt", was traurig ist. Beheben Sie dies.
models/status.py
from django.db import models
class Status(models.Model):
"""
Status for Task
"""
name = models.CharField('Status', max_length=30, blank=False)
def __str__(self):
return self.name
def __str__(self):
return self.name
In diesem Teil können Sie definieren, welche Informationen als Informationen der Verwaltungssite angezeigt werden. (Es definiert nur, was angezeigt wird, wenn das Objekt als Zeichenfolge mit str ?? aufgerufen wird.)
Durch Ändern der Statusmodellklasse Wenn das Taskmodellobjekt auf der Verwaltungssite angezeigt wird Die Anzeige ist wie erwartet.
Recommended Posts