Remplacer enregistrer la méthode de Django Admin
Bien, je veux sauver toute instance d'un modèle sans se soucier DDBB structure. Je décide donc de remplacer def save
dans tous les modèles de la classe. Genre:
def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
if condition:
raise Exception("You can´t insert that element")
return super(name_class, self).save(self, force_insert=force_insert, force_update=force_update, using=using, update_fields=update_fields)
Bien, avec ce que je atteindre pour insérer de ne pas soulever une exception, mais si l'instance passe cette case je veux insérer dans la base de données quelle que soit la principale restriction existe...
Comment puis-je l'obtenir?
Je suppose que je dois avoir à remplacer le code de base de save
, mais je l'ai vérifié et je n'ai pas trouvé la partie où j'ai vérifier les conditions pour l'insertion dans la base de données.
Peut-être, Le problème est que dans la validation du formulaire.
Comment puis-je remplacer une forme spécifique dans Django Admin? Plus précisément, que celui où je ajouter, de Supprimer ou de Modifier une classe du modèle.
Merci Lam, mais qu'est ce que Im faire. Vérifier mon post au début. Le problème n'est pas s'étend d'enregistrer, de Son pour le remplacer. Mes modèles a une clé primaire de restriction, mais la vraie DB ne marche pas (même s'il semble qu'il n'en a pas de sens, il a... :P). Je veux dire, si les datas passer mon propre case je veux les forces de l'insert (is_valid=True peut-être...) Mes deux approches sont: le remplacement enregistrer (pas fait) ou de sauter des validations sur les formulaires
OriginalL'auteur Elias MP | 2016-04-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez remplacer save_model de ModelAdmin.
save_model
est un avertissement précisant qu'il "n'est pas un droit de veto à des fins"Je n'ai pas vérifier, je suppose que sera le même. Avec que Im extension de la méthode. Quand j'ai appeler le parent, il va faire la même qui il supposé faire. Vérifier PK restriction je nie l'insertion.
Ouais. Je l'ai fait. Lorsque j'essaie d'ajouter un nouvel élément clé primaire de restriction d'avertissement s'affiche. Je remplace save_model, pour récupérer les champs de la demande dans un obj et enregistrer le fichier. Le priamry restriction clé est cochée dans l'autre partie. Je ne sais pas quand Im de les enregistrer (save(), save_model(),...) ou en phase de validation (clean(), valider(),...). Des indices?
OriginalL'auteur Sơn Lâm
Vous ne devriez pas faire tout type de validation dans la méthode save, les modèles ont un nettoyer méthode de validation, vous souhaitez ne devrait être fait qu'au lieu
Pour plus d'informations, voir la validation des objets
OriginalL'auteur Sayse