J'essaye d'avoir un champ de choix qui affiche seulement les utilisateurs avec le champ booléen ProjectManager vérifié comme vrai. J'ai de la difficulté à trouver le moyen de le faire.ChoiceField - choix basé sur le champ booléen
Un peu d'arrière-plan. Lorsqu'un utilisateur est créé, il y a une case à cocher qu'il peut sélectionner s'il s'agit d'un chef de projet ou non. Si elles le vérifient, je veux que le champ de liste déroulante affiche tous les chefs de projet (plus tard, lors de la création d'un nouveau projet).
Voici mes extraits de code pour vous aider.
Projet - Models.py
class Project(models.Model):
client = models.ForeignKey(Clients, related_name='projects')
project_manager = models.ForeignKey(customUser, related_name='Project Manager')
created_by = models.ForeignKey(User, related_name='created_by')
...
Clients - models.py
class Clients(models.Model):
client_name = models.CharField(max_length=255, verbose_name='Client Name', unique=True)
...
class customUser(User):
company = models.ForeignKey(Clients, related_name="belongs to")
pm = models.BooleanField(verbose_name='Project Manager')
Projet forms.py
class TimeMaterialsForm(ModelForm):
status = forms.ChoiceField(choices=STATUS_CHOICES)
project_manager = forms.ChoiceField(??)
def __init__(self, *args, **kwargs):
super(TimeMaterialsForm, self).__init__(*args, **kwargs)
self.fields['status'].initial = 'T'
self.fields.keyOrder = ['proj_name', 'client','project_manager','starts_on','desc', 'due_date','completed_on','quote_value','pt_percent','pt_desc','purchase_order','SRED','status', 'notes']
self.fields['status'].widget=forms.HiddenInput()
...
Merci à tous!
Steve
utilisez-vous simplement à l'administrateur ou une interface personnalisée? –
J'utilise ma propre interface – TheLifeOfSteve