Как написать запрос, основанный на идентификаторе, полученном из UpdateView в django ClassBasedView? - PullRequest
0 голосов
/ 17 июня 2019

Невозможно просмотреть внешний ключ как значение, вместо этого он показывает идентификатор, я хочу показать значение вместо идентификатора, когда я нажимаю изменить.

Я уже использовал:

 def __str__(self):
     return self.name

в моих моделях. я пытался написать def get_object (), но он не работал

models.py

class VehicleName(BaseModel):
    name=models.CharField(max_length=128)
    image = models.FileField(upload_to='cars/', blank=True, null=True)
    brand = models.ForeignKey("autofinance.VehicleBrand",on_delete=models.CASCADE)
    model_year = models.IntegerField(blank=True,null=True)
    is_deleted = models.BooleanField(default=False)

    def __str__(self):
        return self.name

view.py

class EditVehicle(UpdateView):
  model = VehicleName
  form_class = vehicleForm
  template_name = 'tayseeradmin/edit_vechile.html'
  success_url = reverse_lazy('tayseer-admin:view-vehicle')
  context_object_name = 'picture'

  def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    vehicle = VehicleBrand.objects.get(id=self.object.pk)
    context['heading'] = 'Edit Vehicle'
    context['dashboard'] = 'vehicle'
    return context

urls.py

path('vehicle/<uuid:pk>/', login_required(views.EditVehicle.as_view(), login_url='tayseer-admin:index'), name='edit-vehicle'),

Я ожидаю, что результаты будут отображаться как значения, а не как id во время редактирования.

...