2017-01-30 10 views
-1

Ich benutze Django 1.10.5. Ich habe ein Problem mit offener eindeutiger URL, Ansichten:Django url einzigartige URL öffnen

entry = get_object_or_404(Post, slug=slug) 

Modellfeld:

slug = models.SlugField(editable=False) 

ich brauche Schnecke mit identischem Strang zu erkennen, zum Beispiel ich habe Slug xyz und xYz i öffnen muß andere Seiten, jetzt Django 500 Seite auf Produktion anzeigen.

url(r'^(?P<slug>[\w-]+)/$', views.single_post, name='single_post'), 

Und Fehlermeldung:

MultipleObjectsReturned at /pZw/ get() returned more than one Post -- it returned 2! 

, wie ich erkennen kann, wenn identisch ist?

+0

Ich sehe in der Ansicht das Slug-Feld akzeptiert beide Arten von Mustern. Kannst du bitte die Ausnahme teilen? –

+0

MultipleObjectsReturned at/pzw/ get() gab mehr als einen Post zurück - es gab 2 zurück! –

+0

Und was ist nicht selbsterklärend zu dieser Nachricht? –

Antwort

0

Nun, was passiert ist, erhalten Sie zwei Ergebnisse, bei denen get_object_or_404 nur 1 zurückgeben soll. Ihr Feld Slug ist nicht einzigartig und einige Inkonsistenzen. Können Sie das versuchen?

entry = get_object_or_404(Post, slug__exact=slug) 
+0

MultipleObjectsReturned um/pZw/ get() gab mehr als einen Beitrag - es gab 2 zurück! –

+0

'__exact' ist die Standard-Suche, die explizite Angabe wird das Verhalten nicht ändern. – knbk