ManyToMany-Felder von einer Modellinstanz in eine andere kopieren

7

Ich bin neu bei Django und als Lern-App entwickle ich eine Spesenabrechnung.

In meinen Modellen habe ich drei Klassen, die so aussehen (ich habe sie der Kürze wegen leicht vereinfacht):

%Vor%

RecurringExpense ist nur eine Vorlage: Wenn das System erkennt, dass es Zeit ist, eine wiederkehrende Ausgabe einzufügen (zB die Miete), sollte es die Informationen in der Vorlage nehmen und sie in eine neue Instanz der Expense -Klasse kopieren . Hier ist das relevante Bit aus der RecurringExpense -Methode, die für die Arbeit zuständig ist:

%Vor%

Das obige funktioniert einwandfrei, aber wenn ich die tags=self.tags -Zeile auskommentiere, beschwert sich django und wirft den folgenden Fehler:

%Vor%

Ich weiß Ich könnte eine Schleife erstellen , um dieses Problem zu umgehen, aber ich frage mich, ob es eine elegantere Möglichkeit gibt, die mir erlauben würde um das selbe auf einmal zu machen ....

    
mac 09.04.2012, 18:39
quelle

2 Antworten

8

Die einfachste Methode, die ich mir vorstellen konnte:

%Vor%     
mac 10.04.2012, 17:30
quelle
11

Sie können ein m2m-Feld nicht direkt beim Erstellen einer Modellinstanz festlegen. Versuchen Sie stattdessen Folgendes:

%Vor%

Sie können Ссылка nach weiteren Beispielen für die Arbeit mit Vielen suchen. zu viele Beziehungen.

    
Botond Béres 09.04.2012 21:28
quelle