2016-08-15 5 views
0

これは私のモデルの見た目です。いずれかのモデルのsaveメソッドをオーバーライドして検証を行うことができませんでした。Django-Taggitは保存する前に新しく追加されたタグを検証します

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' 
    ) 

新しく追加された各タグを保存する前に、どのように検証するのですか。私は何かを逃したか?

+0

私はこのコードを "匿名化"している間にいくつかの間違いをしたと思います:1)ParentalKeyはMailerではなくUnchainedMailerを指します。 2)ParentalKeyを使用している場合は、MailerでClusterableModelとClusterTaggableManagerも使用する必要があります。そうでなければ、ParentalKeyは単にForeignKeyでなければなりません。 (私はこれを最初に、単純なForeignKeyで動作させることをお勧めします - その方法では、動く部分が少なくなります)。 – gasman

+0

@gasman ForeignKey Byカスタムタグを使用してhttp://django-taggit.readthedocs.io/en/latest/custom_tagging.html#custom-tagのように実装することを意味しますか? –

+0

@gasman私はForeignKeyへの切り替えを試みましたが、私はまだ適切な保存方法を傍受することができません。チェックしたいタグが常に作成されます。 wagtailには方法がありますか?フォームレベルで傍受できますか? –

答えて

0

タグ付けの自動補完候補のカスタムAPIを作成しましたが、これは有効な名前のみを示唆しています。

デフォルトでは、カスタム自動補完URLを渡すために、tagit.jsコールワグテールの設定を上書きすることができます。このようにして、ユーザーが値を入力した後に検証を行う必要はありません。

関連する問題