在我的admin.py文件中,我正在尝试使用Prepopulated_fields来自动slug一个标题。然而,短信两个字似乎有问题。当我输入“Is”,“the”或“to”时,它将它从slug中删除。我也试过“之前”,第二次我按下了E按钮,它也把它弄空了。这是预期填充领域还是我做错了什么?
Models.py
title = models.CharField(max_length=255)
entry = models.TextField()
date_edited = models.DateTimeField(auto_now=True, verbose_name = "Last edited")
date_posted = models.DateTimeField(verbose_name="Post Date")
slug = models.SlugField(max_length=255, unique=True)
Admin.py
prepopulated_fields = {"slug": ("title",)}
答案 0 :(得分:2)
就像@Alasdair在他的回答中所说,当你使用prepoulated_fields时会有一些词被忽略。我没有覆盖处理这些单词的js文件,而是从save_model中的标题中转换了slug字段。
def save_model(self, request, obj, form, change):
if not change:
obj.slug = slugify(('%s') % obj.title)
obj.save()
答案 1 :(得分:1)
您正在使用prepopulated_fields
选项。如果您查看django管理应用程序中包含的urlify.js脚本,您会看到有一个被忽略的单词列表。
除了编辑文件本身之外,我不知道修改行为的简单方法,这是不理想的。