Django Taggit - Les associations de balises n'économisent pas du formulaire d'administration personnalisé

StackOverflow https://stackoverflow.com/questions/5969054

Question

Devenir fou ici ... de l'intérieur de la coquille, je peux faire:

product.tags.add("a_new_tag")

La balise est ajoutée à la base de données et l'association de balises avec le produit fonctionne correctement. (c'est-à-dire quand je fais Product.objects.filter(tags__name__in=["a_new_tag"] Le produit approprié crache)

Ce que je dois faire, c'est ajouter des balises dans l'administrateur lorsque le formulaire est traité.

Voici mon code de formulaire (lisez les commentaires dans les lignes 4 et 5):

class ProductForm(ModelForm):
        def save(self, commit=True):
            product = super(ProductForm, self).save(commit=False)
            product.type="New Type to Confirm Info is being Saved Correctly" //this is saved to the product.
            product.tags.add('a_new_tag_1') //the tag is saved to the taggit db, but the association with the product isn't kept.
            product.save()
            self.save_m2m()
            return m

J'ai essayé de faire de l'épargne dans la classe d'administration, mais cela ne fonctionne pas non plus:

class ProductAdmin(admin.ModelAdmin):
    form = ProductForm
    def save_model(self, request, obj, form, change):
        obj.type="new_type" //this works 
        obj.tags.add("a_new_tag_2") //tag association not saved
        obj.save()
        form.save_m2m()

Qu'est-ce que je fais mal? Merci d'avance!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top