0

在一个 Django 项目中,我安装了 django_taggit 扩展。它与 Django 管理界面很好地集成在一起。我有两个问题:

问题一: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

我希望通过 预先填充 slug prepopulated_fields = {"slug": ("name",)},这样我就不必手动输入 slug。

问题:如何添加prepopulated_fields属性?

4

1 回答 1

1
  1. 明智地使用官方文档
  2. 为标签创建自己的管理类(继承 taggit 的管理员),然后使用:

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