Bonjour, je rencontre un soucis pour la modification du formulaire de modification (et de création) dans la page admin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #!/usr/bin/env python # -*- coding: utf-8 -*- from django.db import models from django.conf import settings from django.utils.translation import ugettext_lazy as _ from myUser.models import User class Customer(models.Model): fidelite = models.IntegerField(default=0) inscription = models.DateField(_("Date"), auto_now_add=True) newsletter = models.BooleanField(default=False) myUser = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, limit_choices_to={'is_staff': False}, ) customerSponsor = models.ForeignKey( 'self', on_delete=models.CASCADE, null=True, blank=True, )Comme vous pouvez le voir je suis rester sur quelques choses de simple. Cependant le formulaire reste le même... Pas de filtre ni de redéfinition par rapport au champ renseigné...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #!/usr/bin/env python # -*- coding: utf-8 -*- from django.contrib import admin from .models import Customer from django import forms class CustomerCreationForm(forms.ModelForm): pass class CustomerChangeForm(forms.ModelForm): class Meta: model = Customer #fields = ("__all__") fields = ('fidelite','newsletter') def __init__(self, *args, **kwargs): super(Customer, self).__init__(*args, **kwargs) self.fields['customerSponsor'].queryset = Customer.objects.filter(newsletter=True) print('toto') class CustomerAdmin(admin.ModelAdmin): #form = CustomerChangeForm add_form = CustomerCreationForm class Meta: model = Customer admin.site.register(Customer, CustomerAdmin)
Il s'agit d'un test :
Pour le résultat voulu : je souhaite filtrer les clients dont le champ inactive = False sur l'utilisateur (myUser) et dont le client est différent du mien
Il s'agit de la page administration.
Partager