Django модель доступа к объектам в представлениях - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть представление в django, которое получает значение через почтовый запрос, и я хочу получить объект модели, используя это значение в качестве атрибута. Представление выглядит так:

def accessObject(request):
     if request.method =="POST":
          value = request.POST.get('value')
          object = RandomModel.objects.get(value=value)
     return render(request,template,{'object':object})

Я хочу знать, является ли это правильным способом ведения дел в производстве, потому что если значение является целочисленным типом, то представление выдаст ошибку, даже если объект существует. Должен ли я использовать преобразование типов каждый раз, когда пишу этот тип представления в django?

1 Ответ

2 голосов
/ 12 февраля 2020

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

from django.http import Http404
from django.shortcuts import get_object_or_404

def accessObject(request):
     if request.method =="POST":
          try:
              # Do any necessary casting here. You mentioned int conversion so I used that.
              value = int(request.POST.get('value'))
          except TypeError:
              # Or return whichever http status you think is more appropriate for you.
              raise Http404
          object = get_object_or_404(RandomModel, value=value)
     return render(request,template,{'object':object})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...