У меня есть ситуация, когда у меня есть несколько вариантов типа для модели в Django.я готов подтвердить при выполнении операций творога на поле M2M
?
Вот пример модели Django:
class Employee(models.Model):
TYPE_CHOICES = (
(1, 'OWNER'),
(2, 'STAFF')
)
name = models.CharField(max_length=30, blank=True)
type = models.SmallIntegerField(choices=TYPE_CHOICES, default=2)
staffs = models.ManyToManyField('self', symmetrical=False)
def __str__(self):
return f'{self.id}: {self.name}: {self.type}'
def clean(self):
"""How to validate if adding staff is of type `STAFF`?"""
"""would like to check type of child object here?"""
pass
Как я могу проверить все объекты персонала при добавлении сотрудников для объекта владельца, чтобы владелец мог иметь дочерние объекты только в качестве персонала?
staff = Employee.objects.create(name='emp1')
owner = Employee.objects.create(name='emp1', type=1)
owner.staff.add(staff)