2

在我的 admin.py 文件中,我试图使用 Prepopulated_fields 来自动添加标题。然而,短的两个字母单词似乎有问题。当我输入“Is”、“the”或“to”时,它会将其从 slug 中删除。我也试过“之前”,第二次我按下 E 按钮,它也把它屏蔽掉了。这是预填充字段的预期还是我做错了什么?

模型.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)

管理员.py

 prepopulated_fields = {"slug": ("title",)}
4

2 回答 2

2

就像@Alasdair 在他的回答中所说,当您使用 prepoulated_fields 时,有些词会被忽略。我没有覆盖处理这些单词的 js 文件,而是将 slug 字段从 save_model 中的标题转到。

def save_model(self, request, obj, form, change):        
    if not change:
        obj.slug = slugify(('%s') % obj.title)
    obj.save()
于 2012-05-31T15:47:11.770 回答
1

您正在prepopulated_fields正确使用该选项。如果您查看 django 管理应用程序中包含的urlify.js脚本,您会看到有一个被忽略的单词列表。

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

于 2012-05-31T14:49:21.640 回答