我想添加一个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 2010-04-01 15:55:05
同样的错误:没有这样的列:post_blogpost.tags我知道它只是想我添加一个新的字符列到我的数据库表...我的观点是,为什么我应该?所有的实际标签都应该存储在标签应用的模型中。我不想用这样的困难依赖来扼杀我的模型。 – Oli 2010-04-01 15:56:04
我记得现在,你强烈地把归一化转化为11.可能是让时间让django-tagging做它想做的事情或者推出自己的标签库。 – istruble 2010-04-01 19:19:22