Использование Django 1.5 Я храню слизняка в БДДжанго: Управление URLs как идентификатор: слизняк с дублированным слизняк
Я настроил мои URLs нравится следующим образом:
url(r'^(?P<id>[0-9]+):(?P<slug>[-\w]+)$', TracksDetailView.as_view(), name="track-view"),
И в моем podel у меня есть:
@models.permalink
def get_absolute_url(self):
return ('track-view', [str(self.id), str(self.slug)])
Если 2 слизни то же самое я получаю следующую ошибку:
get() returned more than one GPXTrack -- it returned 2! Lookup parameters were {}
Я использую общий вид (DetailView) для отображения страницы:
class TracksDetailView(DetailView):
model = GPXTrack
context_object_name = 'track'
Любая идея о том, как избежать этого без необходимости уникальных слизней?
Проблема не в том, что URL-адрес, это код, который получает GPXTrack (и возвращает ошибку). Возможно, вам лучше это показать. –
Спасибо, Дэниэл, я просто обновляю вопрос, предоставляя код – danfreak
Ну, скажем, я пользователь с 'id = 1523', и я делаю два' трека' (что бы это ни было), и, скажем так, я называю оба 'monkeyTrack', как ваше приложение знает, какой из них я хочу, если я получаю доступ к 'yourApp.com/1/monkeyTrack', вам нужно, чтобы пули были уникальными или каким-то образом ограничили пользователей, если вы хотите избежать этой ошибки! –