Le code ci-dessous supprime certaines valeurs d'un menu déroulant. Cela fonctionne très bien mais je veux supprimer la valeur si l'utilisateur manque de certaines autorisations. Comment puis-je accéder à request.user dans le constructeur du ModelForm? Ou y a-t-il une meilleure façon d'accomplir ce que j'essaie de faire?Django Admin: Obtenir une requête dans le constructeur de ModelForm
class AnnouncementModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(AnnouncementModelForm, self).__init__(*args, **kwargs)
self.fields["category"].queryset = AnnouncementCategory.objects.filter(can_post=True)
Merci pour votre réponse. Êtes-vous sûr de cela? Parce que je reçois cette TypeError: __init __() prend au moins 2 arguments non-mot-clé (1 donné) – orwellian
Passez l'argument "request" dans la classe de création! Sinon, comment l'obtenir? AnnouncementModelForm (demande) –