Невозможно распаковать неитерабельный объект Django

Итак, я пытаюсь отфильтровать варианты поля по атрибуту created_by, который является экземпляром User, полученным из запроса при его создании.

После некоторого исследования я нашел некоторые объяснения и последовал им, но я не смог добиться того, чтобы выбор действительно появился на форме. Теперь я получаю ошибку, что Categoria Object не является Iterable.

Ошибка, которую Django показывает мне в браузере:

Тип исключения: TypeError Значение исключения:
невозможно распаковать неитерабельный объект Categoria

класс, который я использовал в качестве модели для формы:

class Contato(models.Model):
    nome = models.CharField(max_length=255)
    sobrenome = models.CharField(max_length=255, blank=True)
    telefone = models.CharField(max_length=255)
    email = models.CharField(max_length=255, blank=True)
    data_criacao = models.DateTimeField(
        default=timezone.now)
    descricao = models.TextField(blank=True)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE)
    categoria = models.ForeignKey(
        Categoria, on_delete=models.DO_NOTHING)
    mostrar = models.BooleanField(default=True)
    foto = models.ImageField(blank=True, upload_to='fotos/%y/%m/%d')

    def __str__(self):
        return self.nome

вот код из формы, которую я пытаюсь изменить

class ContatoForm(forms.ModelForm):
    class Meta:
        model = Contato
        exclude = ('created_by',)

    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user', None)
        super(ContatoForm, self).__init__(*args, **kwargs)

        category_choices = list(Categoria.objects.filter(
            created_by=self.user))

        self.fields['categoria'] = forms.ChoiceField(choices=category_choices)

А это вид, в котором я использую эту форму

@login_required(redirect_field_name='login')
def dashboard(request):
    if request.method != 'POST':
        form_contato = ContatoForm(user=request.user)
        form_categoria = CategoriaForm

        return render(request, 'accounts/dashboard.html', {'form_contato': form_contato, 'form_categoria': form_categoria})

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