1

我试图在我的一个项目中使用 django-tagging 并遇到一些错误。

我可以在 shell 中使用标签,但无法从管理界面分配它们。

我想要做的是向模型添加“标签”功能并从管理界面添加/删除标签。

为什么shell可以看到“标签”而不是“admin”界面?到底是怎么回事?

模型.py:

import tagging

class Department(models.Model):
    tags = TagField()

管理员.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'")

我查看了文档,找不到更多信息 有用的提示 概述 Txt

4

1 回答 1

4

TagField 需要模型上有一个实际的数据库列;它使用它来缓存输入的标签。如果您将 TagField 添加到已经具有数据库表的模型中,则需要将该列添加到数据库表中,就像添加任何其他类型的字段一样。使用模式迁移工具(如 South 或 django-evolution)或手动运行适当的 SQL ALTER TABLE 命令。

于 2009-08-25T18:43:05.623 回答