1

プロジェクトの1つでdjango-taggingを使用しようとしていますが、いくつかのエラーが発生します。

シェルでタグを操作することはできますが、管理インターフェースからタグを割り当てることができませんでした。

私がやりたいのは、モデルに「タグ」機能を追加し、管理インターフェースからタグを追加/削除することです。

「タグ」が「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'")

ドキュメントを調べましたが、それ以上の情報が見つかりませんでした。 役立つヒントの 概要Txt

4

1 に答える 1

4

TagFieldには、モデルに実際のデータベース列が必要です。これを使用して、入力されたタグをキャッシュします。すでにデータベーステーブルがあるモデルにTagFieldを追加する場合は、他のタイプのフィールドを追加する場合と同様に、データベーステーブルに列を追加する必要があります。スキーマ移行ツール(Southやdjango-evolutionなど)を使用するか、適切なSQLALTERTABLEコマンドを手動で実行します。

于 2009-08-25T18:43:05.623 に答える