django Modell-ForeignKey-Beziehung speichern

7

in meinem model.py

%Vor%

in meiner view.py

%Vor%

aber es gibt einen Fehler in meinem django debug .. in meinem Projekt verwende ich geodjango, openlayers und extjs ... ich fand keine Lösung über meinen Beitrag speichern

Ich habe keine Beziehung mit meinem Fremdschlüssel gemacht .. im Grunde möchte ich eine Ebene erstellen, als wenn ich einen Punkt in meiner Ebene hinzufügen möchte, ich möchte meinen Punkt mit Ebenen-ID speichern ....

    
aragon 17.02.2011, 15:10
quelle

2 Antworten

8

Es ist hilfreich, das Traceback zu veröffentlichen, um Ihr Problem zu verstehen (für zukünftige Fragen).

Es sieht so aus, als würden Sie eine Zahl an das Point -Attribut Ihrer layers -Instanz übergeben, was eine ValueError verursachen würde. Der einzige Ort, an dem Sie eine Zahl an ein fremdes Schlüsselfeld weitergeben können, ist ein Django-Formular, das nach Ihnen sucht.

Sie müssen stattdessen eine tatsächliche Layer -Instanz zuweisen.

%Vor%     
Yuji 'Tomita' Tomita 17.02.2011, 15:14
quelle
13

Ein effizienterer Weg besteht darin, den Fremdschlüssel anzugeben, indem Sie am Ende eine "_id" hinzufügen:

%Vor%

Do not does = XXX.objects.get (id = ###), weil das die Anzahl der Datenbankabfragen verdoppelt.

AUCH ... Sie reinigen hier nicht Ihre POST-Daten, was ziemlich gefährlich ist. Erhalte es so:

%Vor%     
hendrixski 03.08.2012 19:00
quelle

Tags und Links