J'ai un objet profil avec relation ManyToMany à la catégoriedjango ModelMultipleChoiceField queryset/filtre pour les objets déjà associés
class Profile(models.Model):
. . .
category = models.ManyToManyField(Category, blank=True)
Dans ma forme, je veux afficher une case à cocher uniquement des catégories associées au profil Le code ci-dessous affichera toutes les catégories.
class ProfileForm(ModelForm):
. . .
category = forms.ModelMultipleChoiceField(Category.objects.all(),
widget=forms.CheckboxSelectMultiple())
Comment écrire un jeu de requête afin d'afficher uniquement les catégories associées au profil? J'ai variations de ceci:
category = forms.ModelMultipleChoiceField(Category.objects.filter(id__in=Profile.category.all()), widget=forms.CheckboxSelectMultiple())
A cette erreur: objet « ReverseManyRelatedObjectsDescriptor » n'a pas d'attribut « all »
Nevermind: Je dois définir le jeu de requête dans la vue. I gues sit est lié à la variable d'exécution form.fields ["category"]. Queryset = Category.objects.filter (profile = profile) –