2011-03-08 125 views
1

我开始把prepopulated_fields选择在我的管理员突破和有趣的东西开始发生 我有这个模型Django的预填充字段带有连

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, 
     ) 

如果原来的名字已经在它的任何空间,我得到一个“否Page指定的查询相匹配。”错误。所以细节/测试将工作,但细节/测试页将不会 我有点难住

+0

重复http://stackoverflow.com/questions/10253200/hyphens-in-slugfield的 – user9876 2012-08-17 12:42:57

回答

3

我猜你有你的urlconf设置解析你的slu using \ w +尝试使用[-A-Za-z0 -9 _] +

# e.g. in urls.py 

url(r'del/(?P<slug>[-A-Za-z0-9_]+)/$', 'person_delete', name='person_delete'), 
+0

权了!太感谢了。 – takosuke 2011-03-08 13:35:21