自动将字段插入django管理界面?

自动将字段插入django管理界面?,django,django-admin,slug,Django,Django Admin,Slug,有没有办法将django autoslug中的autoslugfield集成到django管理界面中? 我试着把它放在一个列表中显示为“slug”,但它没有显示在django管理界面中 非常感谢为什么要将其添加到管理界面?无论如何,它不应该是可编辑的 但您可以将其添加为只读字段 class MyModelAdmin(admin.ModelAdmin): list_display = ('slug',) readonly_fields = ('slug',) 这是一个老问题,但也许有

有没有办法将django autoslug中的autoslugfield集成到django管理界面中? 我试着把它放在一个列表中显示为“slug”,但它没有显示在django管理界面中


非常感谢

为什么要将其添加到管理界面?无论如何,它不应该是可编辑的

但您可以将其添加为只读字段

class MyModelAdmin(admin.ModelAdmin):
   list_display = ('slug',)
   readonly_fields = ('slug',)

这是一个老问题,但也许有人会发现这个答案很有用 在管理界面中显示(并使其可编辑)

您所需要做的就是设置editable=True

slug = AutoSlugField(populate_from='title', editable=True, blank=True)

现在,只有当段塞未填充时,它才会自动生成。。。而且slug不会在更改后的PUP中重新生成。

您是否尝试过
预填充字段
?为什么它应该是可编辑的?因为如果更改name/title字段,则希望slug更新为匹配。我们可以假设站点管理员知道这会断开任何使用slugfield的URL的传入链接,但最好给管理员这种权力,而不是剥夺它。@shacker:如果你想拥有控制权,你不应该使用
自动slug
。然而,有很多简单的方法可以解决这个问题。我能想到的最简单的方法是定义另一个只包含slug的非托管模型,在这种情况下,它不应该是自动slug字段,而应该是简单的Django
SlugField