Динамические значения выпадающего списка (models.CharField с выбором) в зависимости от другого значения выбора выпадающего списка в Django Admin Panel
Я новичок в Django и пытаюсь найти решение для моей проблемы с динамическим выбором CharField. Я видел много похожих тем, но в основном они касаются фронтенда и форм, а я ищу решение в админ панели.
class Client(models.Model):
name = models.CharField(max_length=150)
def __str__(self):
return str(self.name)
class Team(models.Model):
name = models.CharField(max_length=150)
description = models.TextField()
members = models.ManyToManyField(User, through='Membership')
clients = models.ManyToManyField(Client)
def __str__(self):
return self.name
class Membership(models.Model):
member = models.ForeignKey(User, on_delete=CASCADE)
team = models.ForeignKey(Team, on_delete=CASCADE)
role = models.CharField(max_length=15, choices=roles, default='member')
clients = models.CharField() <--- there is problem
def __str__(self):
return str(self.member)
В организации есть много команд. У каждой команды есть клиенты, иногда клиенты являются частью нескольких команд. Пользователь может быть частью нескольких команд с различными ролями. Например: Пользователь в команде 1 имеет роль администратора и доступ ко всем клиентам команды 1, но также пользователь имеет роль обычного члена в команде 2 и имеет доступ только к нескольким клиентам команды 2.
<<<Отношения между пользователем и командой определяются в Членстве, где суперпользователь всего приложения может давать разрешения/доступ команде и указанным клиентам этой команды.
Итак, я хотел сделать динамическое поле клиентов в модели Membership. Создавая Membership, если я выбираю команду1, я хочу иметь возможность выбирать клиентов только из списка клиентов, назначенных этой команде.
Можете ли Вы, пожалуйста, помочь мне с этим?