0

Djangoプロジェクトで、django_taggit拡張機能をインストールしました。Django管理インターフェースとうまく統合されます。しかし、私には2つの問題があります。

問題A:flatchoices

タグ付け可能なモデルのリストビューにコンマ区切りのタグリストを表示できません。意味:

# models.py
class Topic(models.Model):
    name = models.CharField(max_length=100)
    tags = TaggableManager(blank=True)

# admin.py
class TopicAdmin(admin.ModelAdmin):
    list_display = ('name', 'tags')

admin.site.register(Topic, TopicAdmin)

エラーをスローします:

AttributeError: 'TaggableManager' object has no attribute 'flatchoices'

質問:拡張ソースを変更せずに必要な機能を追加して、更新を実行できるようにするにはどうすればよいですか?

問題B:prepopulated_fields

「タグの追加」管理ビューに移動すると、(当然のことながら)新しいタグを追加できます。nameslugの2つの必須フィールドがあります。

を介してスラグを事前に汚染してprepopulated_fields = {"slug": ("name",)}、スラグを手動で入力する必要がないようにします。

質問:プロパティを追加するにはどうすればよいですか?prepopulated_fields

4

1 に答える 1

1
  1. 公式ドキュメントを賢く使用する
  2. タグ用の独自の管理クラスを作成し(taggitの管理者から継承します)、次を使用します。

    admin.site.unregister(Tag)
    admin.site.register(Tag, YourTagClass)
    
于 2012-05-11T06:33:46.040 に答える