Ich versuche, eine ListView für die get_absolute_url in meiner Vorlage definiert ist. Aber es löst einen Fehler:Reverse für 'mit Argumenten'() 'und Schlüsselwortargumente nicht gefunden. 1 Muster versucht:
Reverse for 'accept_bid' with arguments '()' and keyword arguments '{'bid_id': 16}' not found. 1 pattern(s) tried: ['post/(?P<post_id>[\\w-]+)/bid/(?P<bid_id>[\\w-]+)/$'].
Muss ich die die zwei Integer-IDs in meiner Ansicht definieren, oder gibt es someother Problem?
Ich würde mich freuen, mich in diesem Problem zu helfen.
models.py:
class Bid(models.Model):
post = models.ForeignKey(Post, related_name = "bids")
user = models.OneToOneField(User, null=True, blank=True)
amount = models.IntegerField()
def get_absolute_url(self):
return reverse("accept_bid", kwargs={"bid_id": self.id})
Views.py:
class LiveBids(LoginRequiredMixin, ListView, FormView):
template_name = 'live_bids.html'
def get_queryset(self):
return Post.objects.all().prefetch_related('bids').filter(user=self.request.user).order_by('id')
urls.py:
url(r'^live_bids/$', LiveBids.as_view(model=Post), name='LiveBids'),
url(r'^post/(?P<post_id>[\w-]+)/bid/(?P<bid_id>[\w-]+)/$', views.accept_bid, name='accept_bid'),
live_bids.html:
{% for bid in post.bids.all %}
{{bid.amount}}
<p><a href='{{ bid.get_absolute_url }}'>Accept</p>
{% endfor %}
Ich erhalte die post_id aus dem Postfeld (ForeignKey), wie definiert in meinem Bid Modell. Wie kann whatever_post_id_is in Ihrer Antwort für das Erhalten der post_id ?? – sumanth
@sumanth, ich habe gerade bearbeitet. – xbello