Considerare il caso in cui un utente può salvare una formula che può includere alcune variabili predeterminate. Dì che questi sono chiamati parole e numeri . Un'espressione in qualche formato potrebbe quindi assomigliare a questa:
if(words < 5)
0.5*words+13*numbers
else
words+6.5*numbers
Quando valutato, restituisce un valore numerico. Quale sarebbe il modo migliore per archiviarli nel database?
- Non voglio usare Pythons eval-function, è difficile renderlo sicuro
- Potrei usare una rappresentazione JSON o XML e creare un parser.
- Potrei usare la classe Model di Django e implementare i modelli con i campi operando , operator_1 , operator_2 . Avrei quindi bisogno di casi speciali per if / else, e avrei bisogno che gli operatori a volte contenessero letterali, a volte chiavi esterne (anche un semplice esempio come quello sopra userebbe ~ 8 voci di database).
Qualche input su questa o forse un'idea migliore?