Django - Standardfeldwert hängt von anderem Feldwert ab

8


Ich habe ein Problem, einen Standardfeldwert festzulegen. Was ich machen möchte?
Ich will diesen Preis in der Klasse Packages ein Standardwert von priceNoTax in der Klasse Bill sein. Wie Sie sehen können, sind alle drei Klassen logisch verbunden.
Beispiel: Konto 1 hat ein Paket mit ID 1. Preis dieses Pakets ist 100. Der Standardwert von priceNoTax für Konto 1 ist 100.

Wie geht das? Ich bin relativ neu darin, also brauche ich Hilfe.

models.py

%Vor%

Vielen Dank !!!

    
notGenius 21.08.2016, 15:55
quelle

3 Antworten

5

Fügen Sie das vielleicht Ihrer Bill-Klasse hinzu?

%Vor%     
Chris Curvey 22.08.2016, 18:44
quelle
5

Warum brauchen Sie ein Feld? Sehen Sie einen Grund, warum jemand den Gesamtpreis ändern möchte, ohne den Preis und die Steuern auf die entsprechenden Werte zu ändern? Wenn es nicht wirklich ein Feld sein muss, können Sie es einfach zu einer Methode machen.

%Vor%

Sie können es immer noch in Vorlagen mit {{ bill.priceTax }} verwenden. Im Code müssten Sie bill.priceTax() verwenden.

Auf diese Weise sollte der Preis mit Steuern auf dem neuesten Stand bleiben, egal wie sich die Steuer oder der Preis ohne Steuern ändert.

Sie können @property decorator auch verwenden, um zu vermeiden, dass Sie es als Funktion im Code aufrufen müssen.

%Vor%

Weitere Informationen finden Sie Ссылка

    
kichik 08.01.2018 21:40
quelle
-2

@kichik hat geantwortet, wie man den Standardwert mithilfe des Template-Tags anzeigt, und ich empfehle, die automatische Berechnung mit Javascript zu implementieren.

Natürlich müssen Sie Benutzereingaben validieren oder save() method implementieren, wie @Chris Curvey sagt.

    
nasiajai 11.01.2018 19:27
quelle

Tags und Links