Схожу с ума здесь ...
Из оболочки я могу сделать:
product.tags.add("a_new_tag")
Тег добавляется в БД, и связь тега с продуктом работает правильно. (то есть, когда я Product.objects.filter(tags__name__in=["a_new_tag"]
выплевывает соответствующий продукт)
Что мне нужно сделать, так это добавить несколько тегов в админку при обработке формы.
Вот мой код формы (прочитайте комментарии в строках 4 и 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
Вместо этого я попытался сохранить данные в классе администратора, но это тоже не сработало:
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()
Что я делаю не так? Заранее спасибо!