django-taggit: сделать теги не обязательными для администратора
Я начал использовать django-taggit, и это, кажется, отвечает всем требованиям. Но для меня все еще есть проблема с администратором сайта:
Я включил tags
атрибут в ModelAdmin так:
class MyModel(db.models.Model):
name = models.CharField(max_length=200)
tags = TaggableManager()
class MyModelAdmin(admin.ModelAdmin):
fieldsets = (
(None, {
'fields': ('name', 'tags')
}),
)
И все идет как положено. Но когда я редактирую модель в админке, я получаю сообщение об ошибке, если поле TagField пусто. Форма, кажется, довольна просто пустым, и в результате теги не сохраняются (как и ожидалось). Но пустое поле тега вызывает ошибку.
Что я могу сделать?
2 ответа
Ты пробовал tags = TaggableManager(blank=True)
?
пусто - определяет, является ли это поле обязательным
... по крайней мере, так говорят доктора.
Я не знаю почему, но TaggableManager(blank=True) не работает в модели, которую я обновил и перенес. Пришлось добавить это в форму администратора (forms.ModelForm
).
self.fields['tags'].required = False