Django Prepopulated Fields有两个/三个字母的单词

时间:2012-05-31 14:35:34

标签: python django django-admin

在我的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",)}

2 个答案:

答案 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脚本,您会看到有一个被忽略的单词列表。

除了编辑文件本身之外,我不知道修改行为的简单方法,这是不理想的。

相关问题