2016-07-14 29 views
0

我在我的Django模型中创建了一个出价类。当我尝试获得bid_list时,它返回 “NoReverseMatch at/bid_list/ Reverse'for accept_bid'with arguments'()'and keyword arguments'{'user':}''found。2 patterns(s)tried: [ '(θP \ d +)accept_bid// $', '/ $']”找不到'with'参数'()'和关键字参数''。 2个模式尝试:[]

这里是我的代码:

models.py:

class Bid(models.Model): 

    user = models.OneToOneField(User, null=True, blank=True) 
    amount = models.IntegerField() 


def get_absolute_url(self): 
    return reverse("accept_bid", kwargs={"user": self.user}) 

def __unicode__(self): 
    return self.amount 

views.py:

queryset = Bid.objects.all().order_by('amount') 

urls.py:

url(r'^bid_list/$', views.bid_list, name='bid_list'), 
url(r'^accept_bid/(?P<user>\d+)/$', views.accept_bid, name='accept_bid'), 

bid_list.html:

{% for bid in queryset %} 
<tbody> 
<tr> 
<td>{{bid.user}}</td> 

<td>{{bid.amount}}</td> 

<td> 
<input type='submit' href='{{ bid.get_absolute_url }}' value='Accept' /></td> 

</tr> 

</tbody> 
{% endfor %} 

回答

0

你允许用户字段设置为无,但你在get_absolute_url方法依赖于它。由于它是空白的,查找失败。

出价的URL取决于用户ID而不是出价ID似乎有点奇怪。你可能想在那里使用self.id

+0

感谢您的亲切回答。我无法在中获得bid.get_absolute_url,我该怎么做? – sumanth

+0

不太确定你在做什么。输入没有hrefs;提交表单时发生的事情由表单元素本身在'action'属性中进行控制。 –

相关问题