Dans mon administration des utilisateurs pour la page de chaque individu, en plus des jeux de champs django par défaut, j'ai aussi deux autres inlines (UserProfile et un modèle appelé "Extension"). Cependant, chaque fois que je modifie des champs dans l'extension de l'extension, je veux aussi pouvoir traiter/valider tous ces champs.Validation des données Django sous forme (admin/auth/user)
UserProfile:
user = models.ForeignKey(User, unique=True)
client = models.ForeignKey(Client)
Extension:
user = models.ForeignKey(User)
date_created = models.DateTimeField(auto_now_add=True, auto_now=True)
number = models.CharField(max_length=16, unique=False)
Par exemple, quand je l'édition des numéros de poste d'un utilisateur, je veux être en mesure de saisir toutes les valeurs à l'intérieur de chaque champ (qui sont dynamique). En ce moment je suis en utilisant self.data [ « »] comme ceci:
extension_fields = [self.data["extension_set-0-number"],
self.data["extension_set-1-number"],
self.data["extension_set-2-number"]]
Un problème que cela pose est que je suppose qu'il sera toujours seulement 3 champs d'extension, ce qui est pas toujours vrai. Comment puis-je faire une boucle dans chaque champ en ligne correctement?
Comment ajoutez-vous cela en tant qu'inlines au formulaire utilisateur maintenant? Cela affecte la façon dont vous pouvez utiliser la validation, etc. –
Extension et UserProfile sont des modèles distincts dans mon models.py et je les étend dans admin.py. Extension a une clé étrangère à User et UserProfile à l'utilisateur et un client. – chiurox