Я пытаюсь создать страницу приложения. На этой странице я показываю название приложения. Теперь я хочу показать, если оно существует, приложение DRP.
urls.py:
path('application/<int:application_id>/', views.application, name='application')
Модели такие:
class Application(models.Model):
application_name = models.CharField(max_length=64)
def __str__(self):
return self.application_name
class Drp_Application(models.Model):
application_prod = models.OneToOneField(Application, related_name='drp_application_prod', on_delete=models.CASCADE)
application_drp = models.OneToOneField(Application, related_name='drp_application_drp', on_delete=models.CASCADE)
def __str__(self):
return str(self.application_prod) + " -> " + str(self.application_drp)
Drp_Application
модель содержит связь между производственным приложением и приложением DRP.
Моя текущая рабочая страница выглядит так:
def application(request, application_id):
application = get_object_or_404(Application, pk=application_id)
# application_drp = ...
context = {
'application': application,
'application_drp': application_drp
}
return render(request, 'application.html', context)
Каким должен быть мой запрос на получение модели приложения DRP от application_id
в представлении моей страницы application
?
Спасибо за вашу помощь
РЕДАКТИРОВАТЬ :
Я нашел способ сделать это, но, возможно, не так хорошо, как это возможно.
application_drp_id = Drp_Application.objects.get(application_prod=application_id)
application_drp = Application.objects.filter(application_name=application_drp_id.application_drp)
Это возможно в одном запросе?