Voici à quoi ressemblent mes modèles. Je n'ai pas pu effectuer la validation en remplaçant la méthode de sauvegarde de l'un des modèles.Django-Taggit valide les tags nouvellement ajoutés avant d'enregistrer
class NotificationListTag(TaggedItemBase):
content_object = models.ForeignKey('Mailer')
class Mailer(models.Model):
from_email = models.CharField(max_length=255)
to_emails = TaggableManager(
through=NotificationListTag,
blank=True,
verbose_name='To Emails',
help_text='Space separated email ID'
)
Comment puis-je valider chaque nouvelle balise avant de l'enregistrer. Ai-je oublié quelque chose?
Je pense que vous avez fait quelques erreurs en "anonymisant" ce code: 1) le ParentalKey se réfère à UnchainedMailer, pas Mailer; 2) si vous utilisez ParentalKey, vous devez également utiliser ClusterableModel et ClusterTaggableManager sur Mailer; sinon, le ParentalKey devrait juste être un ForeignKey. (Je suggérerais d'essayer de faire fonctionner ceci d'abord avec un simple ForeignKey - de cette façon, il y a moins de parties mobiles). – gasman
@gasman Par ForeignKey voulez-vous implémenter comme ceci http://django-taggit.readthedocs.io/en/latest/custom_tagging.html#custom-tag en utilisant un tag personnalisé? –
@gasman J'ai donc essayé de passer à ForeignKey, mais je n'arrive toujours pas à intercepter la bonne méthode de sauvegarde. La balise que je veux vérifier est toujours créée. Existe-t-il un moyen pour que je puisse l'intercepter au niveau du formulaire? –