Я новичок в Django, и пока я в порядке с FBV, я пытаюсь изучить CBV, и я застрял в какой-то момент. У меня есть это в urls.py:Django CBV с uuid как параметр
uuid='\w\w\w\w\w\w\w\w-\w\w\w\w-\w\w\w\w-\w\w\w\w-\w\w\w\w\w\w\w\w\w\w\w\w'
url(r'^someroute/$', MyView.as_view(), name="my_list_view"),
url(r'^someroute/(?P<uuid>%s)/$' % uuid, MyDetailView.as_view(), name="my_detail_view"),
Первый работает просто отлично. Он расширяет ListView. Второй один простирается DetailView и я получаю эту ошибку, когда я нажимаю на правильно оказанную связь с UUID:
Generic detail view MyDetailView must be called with either an object pk or a slug.
Я просмотрел сеть для решения, столкнулся с некоторыми из них, но ничего не казалось, чтобы решить мою проблему. Это MyDetailView (до сих пор я просто хочу, чтобы сделать пустой шаблон, то я буду продолжать):
class MyDetailView(DetailView):
model = MyModel
template_name = 'someroute/my_detail.html'
slug_filed = 'uuid' #here I tried several variations, but nothing
Вместо slug_field, я также пытался:
pk_url_kwarg = 'uuid'
Но тогда я получаю эта ошибка: неверный литерал для int() с базой 10: '1c149e4a-8629-464f-9c62-2742f82e6d96'
Что я делаю неправильно?
Я только что попробовал и получил это: Не могу разрешить ключевое слово u'slug 'в поле. Возможные варианты: (вот все поля этого класса, включая uuid) – dnmh
обновленный ответ^ – madzohan
К сожалению, я получаю ту же ошибку :(Код обновлен (я добавил точку останова, чтобы убедиться), но ошибка такая же. Событие I произошло по той же структуре, что и в вашем ответе. – dnmh