2016-05-13 9 views
1

So synchronisieren Sie Daten in derselben Tabelle in der Datenbank und zeigen Ergebnisse für beide an. Zum Beispiel das, was ich posten möchte:django-Synchronisierungs-IDs aus derselben Tabelle

[ 
    { 
    "code": "q1", 
    "id": "1" 
    }, 

    { 
    "code": "q1", 
    "id": "2" 
    } 
] 

Von oben ist nur ID anders. Deshalb möchte ich beide synchronisieren, so dass ich eine Antwort erhalten kann, wie unten dargestellt:

[ 
    { 
    "code": "q1", 
    "id": "1" 
    "status": "CN", 
    "date":"2015-10-20", 
    }, 
    { 
    "code": "q1", 
    "id": "2" 
    "status": "UR", 
    "date":"2016-01-01", 
    } 
] 

kann ich habe es geschafft, Anzeige einer von ihnen zu erhalten, wenn ich Code unten verwenden:

{ 
    "code": "q1", 
    "id": "1" 
} 
json_value = request.POST.keys()[0] 
ins = json.loads(json_value) 
id_ = ins['id'] 
code_ = ins['code'] 
test = Acc.objects.get(id=id_) 
if test.is_cn == True: 
    data['code'] = code_ 
    data['id'] = id_ 
    data['status'] = test.status 
    data['date'] = test.date 
return json(data) 

So Wie kann ich zwei IDs aus einer Tabelle synchronisieren und Ergebnisse für beide im JSON-Format erhalten? Brauchen Sie Hilfe bitte.

+1

"Wie Daten innerhalb der gleichen Tabelle in der Datenbank synchronisiert werden und Ergebnisse für beide anzeigen" was bedeutet das? – e4c5

Antwort

1

Indem Sie es eine Schleife machen und eine Liste (data) mit allen Ergebnissen füllen, die Sie finden.

json_values = request.POST.keys() 
ins = json.loads(json_values) 
data = [] 

for item in ins: 
    id_ = item['id'] 
    code_ = item['code'] 
    test = Acc.objects.get(id=id_) 

    if test.is_cn == True: 
     data.append({ 
      'code': code_ 
      'id': id_ 
      'status': test.status 
      'date': test.date 
     }) 

return json(data) 
+0

Danke. Ich habe es versucht und es hat funktioniert. Vielen Dank – ash

Verwandte Themen