我想添加一個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