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.

Надеюсь, это поможет!

Вернуться на верх