AJAX를 사용하여보기를 호출하려고하는데 문제가 있습니다. 내가 제출에 대한 토큰, 나는이 링크의 모든 지시에 따라보기가 작동 장고 호출 기능이 있습니다 https://realpython.com/blog/python/django-and-ajax-form-submissions/을하지만, 콘솔에서 나는 다음과 같은 오류 얻을 :queryset 결과를 사용하여 DJango ORM에서 다른 쿼리 세트를 필터링하는 방법?
500: DoesNotExist at /Buscar/Producto/
InventarioProducto matching query does not exist.
/Buscar/Producto을/URL이보기에 연결되어 있습니다. 문제가 아닌 것 같습니다. 쉘에서
resp_producto=Producto.objects.filter(codigo_producto=9786071411532)
resp_inventario=InventarioProducto.objects.get(producto_codigo_producto__in=resp_producto)
resp_precio=Precio.objects.filter(producto_codigo_producto__in=resp_producto,estado_precio='1').order_by('-idprecio')[:1]
, 내가 변수 내가 검색어 세트를 저장했다 인쇄하는 경우, 나는 결과를 볼 수 있습니다, 그래서 내가하지 않습니다 :
모델을 가져온 후, 나는 장고 쉘에서 다음을 시도 이것이 왜보기에서 작동하지 않는지를 아십시오.
9786071411532는 MySQL 데이터베이스에있는 제품 코드로 codigo_producto라는 이름의 열에 저장됩니다.이 코드는 Product Producto에 저장된 필드의 이름과 동일하며 실제로는 기본 키입니다.
모델 설명 : InventarioProducto에는 Producto의 foreigin 키인 필드가 있습니다. InventarioProducto 모델의 필드는 producto_codigo_producto이고 Producto의 기본 키는 codigo_producto입니다. 그래서 producto_codigo_producto는 codigo_producto를 리팩토합니다. 모델 Precio는 모델 InventarioProducto에서 사용 된 것과 동일한 외래 키를 가지고 있으므로 동일한 방식으로 작동합니다.
또한 내가 요청한 모든 데이터가 실제로 존재하는지 확인합니다. 내가 대답으로 해결하고자 텍스트를 이동 한
def BuscarProducto(request):
if request.method == 'POST':
txt_codigo_producto = request.POST.get('id_codigo_producto')
response_data = {}
resp_producto=Producto.objects.filter(codigo_producto=txt_codigo_producto)
resp_inventario=InventarioProducto.objects.get(producto_codigo_producto__in=resp_producto)
resp_precio=Precio.objects.filter(producto_codigo_producto__in=resp_producto,estado_precio='1').order_by('-idprecio')[:1]
response_data['result'] = 'Create post successful!'
response_data['codigoproducto'] = resp_producto.codigoproducto
response_data['lote'] = resp_inventario.idinventario_producto
response_data['descripcion_producto'] = resp_producto.descripcion_producto
response_data['precio'] = resp_precio.valor_precio
return HttpResponse(
json.dumps(response_data),
content_type="application/json"
)
else:
return HttpResponse(
json.dumps({"nothing to see": "this isn't happening"}),
content_type="application/json"
)