У меня есть страница администратора django, где я могу добавить сервисы и карту, затем в 3 типах лабораторий (Professional, Innovation and partner).
Затем я создаю лаборатории, там я даю тип лабораториии выберите услуги при создании.
Что я не могу понять, так это то, что, если я собираюсь создать профессиональную лабораторию, лаборатория должна создаваться только в том случае, если я выберу службы, которые отображаются в Профессиональной лаборатории.
Я добавил код модели и снимки ниже.
Страница создания лаборатории и страница создания службы, у нас есть кнопка сохранения, которая здесь не видна
[
Службы создаются с помощью этой функции
Служба класса (models.Model):
name = models.CharField(max_length=50)
fullname = models.CharField(max_length=100)
cloud = models.CharField(max_length=10, default='aws')
__Here the services are mapped to labs using check-boxes__
in_professional = models.BooleanField(default=False)
in_innovation = models.BooleanField(default=False)
in_partner = models.BooleanField(default=False)
def save(self, *args, **kwargs):
self.name = self.name.lower()
self.fullname = self.fullname.title()
self.cloud = self.cloud.lower()
super(Service, self).save(*args, **kwargs)
def __str__(self):
return self.name
Лаборатории создаются в этой функции
класс Lab (models.Model):
class Meta:
unique_together = (('name', 'cloud'),)
name = models.CharField(max_length=100)
__The input for lab type is given here__
type = models.CharField(max_length=100, default='professional') # 'professional' | 'innovation' | 'partner'
cloud = models.CharField(max_length=25, default='aws')
budget_allocated = models.IntegerField(default=1)
budget_spent = models.IntegerField(default=0)
configuration = JSONField(default=None, null=True)
status = models.CharField(max_length=200, default="Inactive")
users = models.ManyToManyField(User)
__services are selected using manytomanyfeild here__
services = models.ManyToManyField(Service)
toolkits = models.ManyToManyField(Toolkit)
def __str__(self):
return self.name