I have data table showing list of vehicles from the Vehicle model with Driver column. When user clicking on the Driver column value, I want to redirect the user to driver detail page url driver-detail/license_number
.I tried to pass the license_number to href
attribute of hyperlink element like href="{% url 'driver-detail' vehicle.driver.license_number %}"
. This does not help me, it's always empty. If I omit the license_number
in the href
value it will pass the __str__(self)
return value of the Driver model, which is combination of license_number
and fullname
. If I change the return value of __str__(self)
in the Driver model it will work. But I don't want to change the return value of __str__(self)
.Any help is much appreciated!
Model.py
class Driver(models.Model): license_number = models.CharField(primary_key=True, max_length=50) fullname = models.CharField(max_length=25) license_issue_date = models.DateField("Issued Date") def __str__(self): return self.license_number +" " + self.fullnameclass Vehicle(models.Model): license_plate = models.CharField(max_length=25, primary_key=True) model = models.CharField(max_length=100, verbose_name="Vehicle model") driver = models.ForeignKey(Driver,on_delete=models.SET_NULL,null=True, blank=True)
template.html
<a href="{% url 'driver-detail' vehicle.driver.license_number %}" > {{vehicle.driver.license_number}}{{vehicle.driver.fullname}}</a>
urls.py
urlpatterns = [ path('driver-detail/<str:pk>/', views.driverDetail, name='driver-detail'),]