Джанго предварительно заполненные поля разрываются с дефисами - PullRequest
1 голос
/ 08 марта 2011

Я начал добавлять опции 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, слаг будет работать только в том случае, если для начала было только одно слово. так что если у меня есть это представление

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

если в оригинальном имени были пробелы, я получаю «Нет страницы, соответствующей данному запросу». ошибка. Таким образом, деталь / тест будет работать, но страница детали / тест не будет Я немного озадачен

1 Ответ

3 голосов
/ 08 марта 2011

Полагаю, у вас есть настройка urlconf, анализирующая ваш слаг, используя \ w +, попробуйте использовать [-A-Za-z0-9 _] +

# e.g. in urls.py

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