django - invalid literal for int() with base 10: '' -> not understanding what this error means in my project -


i'm trying create website django. want index displaying rubriques, , when click on rubrique, articles of rubrique show. here models.py :

class rubrique(models.model):     nom = models.charfield(max_length=200)     resume = models.charfield(max_length=200) 

here urls.py :

urlpatterns = patterns('',                        url(r'^$', views.index, name='index'),                        url(r'^(?i)(?p<rubrique_id>)[a-z]+/$',                            views.rubriques, name='rubriques'),                        url(r'^(?i)(?p<rubrique_id>)[a-z]+/(?p<article_id>)[a-z]+/$',                            views.articles, name='articles'),                        ) 

here views.py :

def rubriques(request, rubrique_id):     rubrique = get_object_or_404(rubrique, pk=rubrique_id)  <-- error points line     return render(request, 'rubriques/rubrique.html', {'rubrique': rubrique}) 

aaand here error :

valueerror @ /rubriques/sport/  invalid literal int() base 10: '' 

the sport rubrique exists, , template should ok. what's wrong ? have troubles django...

pk field number default, in model.

you have in url (?p<rubrique_id>)[a-z]+ -> letters, not number.

i don't know how calling urls... that's wrong sure.

if want pass signatures name, set field primary key:

class rubrique(models.model):     nom = models.charfield(max_length=200, primary_key=true)     resume = models.charfield(max_length=200) 

or, option, change lookup code:

rubrique = get_object_or_404(rubrique, nom=rubrique_id) 

you should set unique in last case:

class rubrique(models.model):      nom = models.charfield(max_length=200, unique=true)      resume = models.charfield(max_length=200) 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -