Valueerror When Getting Objects By Id
Solution 1:
looks to me that your urlconf is to blame, it should be:
url(r'^cribme/(?P<meekme_id>\d+)/$', 'meebapp.views.cribdetail', name='cribdetail'),
not:
url(r'^cribme/(?P<meekme_id>)\d+/$', 'meebapp.views.cribdetail', name='cribdetail'),
?P<meekme_id>
means "give the matched string between parentheses this name. () matches nothing, which is why your app give an error when trying to look up the item with id ''
.
When the parentheses enclose the \d+
, you match a natural number, which should work.
Solution 2:
The regex in your urlconf needs a little tweak:
url(r'^cribme/(?P<meekme_id>\d+)/$', 'meebapp.views.cribdetail', name='cribdetail'),
The value of the meekme_id
parameter wasn't being captured, since the \d+
was outside the parentheses.
Solution 3:
You misplaced a closing parenthesis:
url(r'^cribme/(?P<meekme_id>\d+)/$', 'meebapp.views.cribdetail', name='cribdetail'),
Note that the (?P<meekme_id> .. )
group construct should include the \d+
characters you are trying to match. In your incorrect regular expression you define a group that doesn't include any matched characters, thus always the empty string ''
.
Solution 4:
In addition to the URL problem, you are not generating the right link in the first place - you refer to result.object.title
but post.id
in the template, which is why your URL contains 0 for the ID. I expect you mean result.id
or result.object.id
.
Post a Comment for "Valueerror When Getting Objects By Id"