2015-05-12 12 views
5

Sto chiedendo le migliori pratiche dai veterani programmatori finanziari.Devo archiviare i record di rimborso in quantità positiva o negativa?

ad esempio il codice psudo:

class Transaction(Model): 
    order = ForeignKey() 
    amount = DecimalField() 
    type = 'refund' or 'purchase' 

Se la memorizzazione di rimborsi in importo negativo, allora posso semplicemente eseguire sum() di tutte le operazioni per ottenere l'equilibrio, operazioni matematiche diventare un po 'nativo.

Se si memorizzano i rimborsi in quantità positiva, è più umano per formula come purchase - refund = balance, inoltre non è necessario invertire per visualizzare un importo positivo di rimborso nel modello.

Quale devo scegliere per avere più vantaggi e meno trucchi?

+0

Un rimborso è un importo positivo. –

+0

Come pensi di utilizzare i rimborsi e gli acquisti? –

+0

@DaveNewton - Perché i rimborsi sono necessariamente importi positivi? Dal punto di vista del cliente possono essere positivi. Ma dal punto di vista del business sono sicuramente negativi. – HappyNomad

risposta

3

Un approccio è avere un campo amount che mantiene il valore come positivo e un altro campo come signedAmount che contiene la versione firmata di esso. Quindi, quando vuoi visualizzarlo o loggarlo usi amount, quando vuoi includerlo in un calcolo usi signedAmount.

Problemi correlati