in meinen Ansichten Ich bin eine Abfrage ausgeführt, die Informationen basierend auf vorherigen Kwargs extrahiert.django json Abfrage in der Shell arbeiten, aber nicht Ansichten
Probe paypaladaptive debug.request Eintrag
{"returnUrl": "http://localhost:5000/paypal/return/pre/30/75f946df1bef45598cd42c45ff9e5e1c/", "maxTotalAmountOfAllPayments": "100.00", "maxNumberOfPaymentsPerPeriod": 1, "startingDate": "2012-03-30T07:59:09.447420", "maxNumberOfPayments": 1, "currencyCode": "USD", "endingDate": "2012-06-28T12:59:09.447158", "project": 585, "ipnNotificationUrl": "http://localhost:5000/paypal/ipn/30/75f946df1bef45598cd42c45ff9e5e1c/", "cancelUrl": "http://localhost:5000/paypal/cancel/pre/30/", "pinType": "NOT_REQUIRED", "requestEnvelope": {"errorLanguage": "en_US"}}
from django.utils import simplejson as json
from paypaladaptive.models import Preapproval
@login_required
@require_GET
def cancel_preapproval_bulk(request, project_id):
preapprovals_list = []
preapprovals = Preapproval.objects.all().exclude(preapproval_key=None).exclude(status='canceled').exclude(status='used')
for obj in preapprovals:
json_object = json.loads(obj.debug_request)
if json_object['project'] == project_id:
preapprovals_list.append(obj)
print preapprovals_list
Wenn diese Ausführung durch django Lauf Shell eine Liste erhalten, erzeugte nach dem args, dh die Projekt-ID.
Wenn dies in einem normalen django laufen sieht eine leere Liste zurück ...
Jede Idee, warum?
Scheint nicht mit den in der debug_request verschachtelten Elemente zu arbeiten, wenn Sie obj ['status'] ausführen, funktioniert es, aber nicht obj ['project'], da es in obj ['debug_request'] liegt, so wie Ich gehe eine Ebene tiefer? – ApPeL
Ich habe das noch nie versucht, aber die Dokumentation sagt: "Gibt eine ValuesQuerySet - eine QuerySet-Unterklasse zurück, die Wörterbücher zurückgibt, wenn sie als iterierbare Objekte und nicht als Instanzobjekte verwendet werden." also denke ich sollte es funktionieren ... – olofom