Django - Как я могу создать список вариантов, которые я выбрал в manytomany?
I'm trying to make a list of the choices I've selected. In this case, the logged in Gestor will select the Funcionarios, and will be able to view the list of selected employees.
**models.py **
class Equipe(models.Model):
gestor = models.ForeignKey(Gestor, on_delete=models.PROTECT, default="")
funcionario = models.ManyToManyField(User)
def __str__(self):
return self.nome
def get_funcionario(self):
return "\n".join([p.funcionario for p in self.funcionario.all()])
views.py
def listaFuncionario(request):
gest = Gestor.objects.get(user_id = request.user.id)
equipe = Equipe.objects.filter(gestor_id = gest)
equipes = gest.equipe_set.all()
func = equipes.funcionario.all()
context = {'func':func}
return render(request, 'listaFunc.html', context)
Я пытаюсь, но, похоже, он не получает доступ к выбранной таблице Funcionarios
Я пытаюсь, но показывает мне
func = equipes.funcionario.all()
AttributeError: 'QuerySet' object has no attribute 'funcionario'
[02/Nov/2022 15:15:06] "GET /funcionarios HTTP/1.1" 500 65882
n
Ваша проблема возникает в файле views.py
, а именно в этих трех строках:
gest = Gestor.objects.get(user_id = request.user.id)
equipes = gest.equipe_set.all()
func = equipes.funcionario.all()
Ваша переменная equipes
получается из объекта gest
, когда вы вызываете метод equipe_set.all()
, который возвращает объект QuerySet
.
Исходя из того, что вы пытаетесь сделать, похоже, что произошла опечатка, и вы хотели использовать equipe
(без "s"), так как эта переменная была получена из класса Equipe
, в котором определен ваш метод funcionario
.
Надеюсь, это поможет!