У меня есть модель команды и модель персонала (за исключением Team). Каждый объект команды может быть связан с 1 - 10 объектами персонала.Проверка на Django-admin на иностранном объекте
В каждом штатном объекте есть булево поле, указывающее, является ли он координатором команды.
Как я могу, на странице администратора django, следить, чтобы пользователи admin вводили информацию о команде, а также соответствующую информацию о персонале (inline), он должен выбрать хотя бы одного координатора команды (все сотрудники в команде координатор, но не может быть нулевым из них).
Благодарим за предложение.
models.py
class Team(models.Model):
team_id = models.AutoField(primary_key=True, verbose_name='Team ID')
team_name = models.CharField(max_length=100, verbose_name='Team Name')
def __str__(self):
return self.team_name
class Meta:
verbose_name='Team'
class Staff(models.Model):
staff_id = models.AutoField(primary_key=True)
team_id = models.ForeignKey(Team)
staff_name = models.CharField(max_length=100, verbose_name='Staff Name')
is_team_coord = models.BooleanField(verbose_name='Is Team Coordinator', default=False)
def __str__(self):
return self.staff_name
class Meta:
verbose_name='Staff'
admin.py
class StaffInLine(admin.TabularInline):
model = Staff
def get_max_num(self, request, obj=None, **kwargs):
return 10
def get_min_num(self, request, obj=None, **kwargs):
return 1
class TeamAdmin(admin.ModelAdmin):
inlines = [StaffInLine]