#python-3.x #django #database #class #django-models
#python-3.x #django #База данных #класс #django-модели
Вопрос:
Позвольте мне правильно объяснить весь вопрос. У меня есть класс с именем CData, и я просто хочу сохранить в нем 6 значений. Мне не нужны разные его экземпляры / объекты, потому что это глобальные данные, которые не связаны с его экземплярами, т.Е. Его статические и должны быть доступны только самому классу, объекты не должны создаваться.
Model.py
from django.db import models
# Create your models here.
class Patient(models.Model):
name = models.CharField(max_length=100, default='')
dob = models.DateField()
fever = models.BooleanField(default=False)
cough = models.BooleanField(default=False)
headache = models.BooleanField(default=False)
diarrhea = models.BooleanField(default=False)
diarrhea = models.BooleanField(default=False)
tasteless = models.BooleanField(default=False)
def __str__(self):
return self.name
class CovidPatient(models.Model):
patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
def __str__(self):
return self.patient.name
class CData:
total = 0
covid = 0
treatment = 0
recovered = 0
dead = 0
discharged = 0
def total_patient(self):
self.total = len(Patient.objects.all())
return self.total
def add_patient(self, pid):
patient = CovidPatient.objects.get_or_create(id = pid)
self.covid = 1
return patient.name
def covid_patient(self):
return self.covid
def under_treatment(self):
self.treatment = len(CovidPatient.objects.all())
return self.treatment
def add_recovered(self, cpid):
patient = CovidPatient.objects.get(id = cpid)
self.recovered = 1
patient.delete()
def total_recovered(self):
return self.recovered
def add_dead(self, cpid):
patient = CovidPatient.objects.get(id = cpid)
self.dead = 1
patient.delete()
def total_dead(self):
return self.dead
def add_discharged(self, cpid):
patient = CovidPatient.objects.get(id = cpid)
self.discharged = 1
patient.delete()
def total_discharged(self):
return self.discharged
Но вся проблема в том, что я не знаю, как этого добиться.
Если вы видите класс CData, вы поймете, что у него не должно быть экземпляров, но эти данные необходимо сохранить в базе данных Django.
Но проблема в том, что нам не нужна для этого целая модель по той же причине, по которой нам не нужны экземпляры или объекты этого класса.
Я новичок, поэтому я не знаю, какие точные термины я должен искать или как их точно достичь.
Как хранить данные класса CData без создания модели и как создать этот статический / глобальный класс, которому не нужны объекты для доступа к данным.
Комментарии:
1. прочитайте шаблон «singleton» google.com/search ? q = django model singleton
2. Я думаю, это не то, что здесь нужно! Или, если вы можете, пожалуйста, кратко изложите это
3. вы говорите, что вам не нужны какие-либо экземпляры данных, но как бы вы получили к ним доступ, если есть 0 экземпляров данных, я считаю, что вам нужен один экземпляр данных, т.Е. синглтон