Я хотел добавить вход тега стиля StackOverflow в мою модель блога. Это модель, в которой уже есть много данных.Добавлено тегирование существующей модели, теперь как работает его администратор?
class BlogPost(models.Model):
# my blog fields
try:
tagging.register(BlogPost)
except tagging.AlreadyRegistered:
pass
Я думал, что это все, что мне нужно, чтобы я прошел через мои старую базу данных сообщений в блоге (это недавно портирован блог) и скопировал тег. Он работал, и я мог отображать тег и фильтр по метке.
Однако я только что написал новый BlogPost и понял, что там нет поля тегов.
Чтение документации (по совпадению, достаточно сухая, чтобы использоваться в качестве антиперспиранта), я нашел TagField. Думая, что это будет только стиль стиля менеджера над существующим регистром тегов, я добавил его. Он жаловался, что не существует столбца «Тег».
Я бы предпочел не денормализовать теги, чтобы удовлетворить создание интерфейса для их ввода. Есть ли класс TagManager, который можно просто установить на модели?
tags = TagManager() # or somesuch
Я не делал этого вместо этого, подумал об этом, я тоже это сделал *. Я проверю с TagField, но без регистра. – Oli
Такая же ошибка: нет такого столбца: post_blogpost.tags Я знаю, что он просто хочет, чтобы я добавил новый столбец char в таблицу моей базы данных ... Я хочу сказать, почему я должен? Все теги должны храниться в моделях приложений тегов. Я не хочу крутить мою модель с такими жесткими зависимостями. – Oli
Я помню, теперь вы очень сильно настроены на то, чтобы нормализовать до 11. Возможно, пришло время либо сдаться, либо позволить джанго-теги делать то, что он хочет, или катить свою собственную библиотеку тегов. – istruble