我正在尝试在我的某个项目中使用django-tagging并遇到一些错误。
我可以在shell中使用标签,但无法从管理界面分配它们。
我想要做的是在模型中添加“标记”功能,并在管理界面中添加/删除标记。
为什么shell会看到“标签”而不是“admin”界面?发生了什么事?
Model.py:
import tagging
class Department(models.Model):
tags = TagField()
Admin.py:
class DepartmentAdmin(admin.ModelAdmin):
list_display = ('name', 'tags') --> works
....
fields = ['name', 'tags'] --> throws error
错误
OperationalError at /admin/department/1/
(1054, "Unknown column 'schools_department.tags' in 'field list'")
我查看了文档,无法找到更多信息 Useful Tips Overview Txt
答案 0 :(得分:4)
TagField需要模型上的实际数据库列;它使用它来缓存输入的标签。如果将TagField添加到已具有数据库表的模型,则需要将该列添加到数据库表中,就像添加任何其他类型的字段一样。使用模式迁移工具(如South或django-evolution)或手动运行相应的SQL ALTER TABLE命令。