我开始在我的管理员中添加prepopulated_fields选项,并开始发生有趣的事情 我有这个模型
class Pelicula(models.Model):
nombre = models.CharField(max_length=50)
slug = models.SlugField(max_length= 15, unique= True, help_text = "Nombre corto para la URL", primary_key= True)
,这在admin.py
中class PeliculaAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug' : ['nombre']}
没有什么花哨的,它遍布整个地方
但是只要我在object_detail通用视图中使用这个slug,slug只有在它只有一个单词时才会起作用。
所以,如果我有这个观点
def detalle_pelicula(request, pelicula):
return list_detail.object_detail(
request,
queryset = Pelicula.objects.all(),
slug = pelicula,
template_name='sections/detalle_pelicula.html',
template_object_name = 'pelicula',
extra_context = extra_context,
)
如果原始名称中有任何空格,我会得到“No Page匹配给定查询”。错误。因此详细/测试将起作用,但详细/测试页面不会 我有点难过
答案 0 :(得分:3)
我猜你有你的urlconf设置解析你的slug使用\ w +尝试使用[-A-Za-z0-9 _] +
# e.g. in urls.py
url(r'del/(?P<slug>[-A-Za-z0-9_]+)/$', 'person_delete', name='person_delete'),