在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'
问题:如何在不更改扩展程序源的情况下添加我需要的功能,以便我仍然可以进行更新?
prepopulated_fields
如果我导航到“添加标签”管理员视图,我可以添加新标签(当然)。有两个必填字段:名称和 slug 。
我希望slug通过prepopulated_fields = {"slug": ("name",)}
进行预处理,这样我就不必手动输入slu。了。
问题:如何添加prepopulated_fields
属性?
答案 0 :(得分:1)
为标签创建自己的管理类(继承taggit的管理员),然后使用:
admin.site.unregister(Tag)
admin.site.register(Tag, YourTagClass)