python - 带有两个/三个字母单词的 Django 预填充字段

标签 python django django-admin

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

最佳答案

正如@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()

关于python - 带有两个/三个字母单词的 Django 预填充字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10835710/

相关文章:

python - 将推文分类

python - Django 模板从查询集字典中打印项目

django - 我应该在哪里排序和过滤?后端还是前端?

Django DateTimeField 不可编辑

django - django admin admin.TabularInline有多个ForeignKey

python - 字段中的错误未显示在 Django 管理表单上

python - 未检测到多处理池中引发的异常

python - 将 Django 应用程序部署到 Apache 时出现问题

python - Django,如何在管理界面中查看 session 数据

python - 如何在 os.system 中使用 python 变量?