0
在使用django-tables2
應用程序時,如何獲得一個額外的列,它不與我的數據庫中的列對應,而是以某種方式從它們中計算出來。舉一個簡單的例子,假設我有模式:從其他列計算列django-tables2
#models.py
class AddSub(models.Model)
num1 = models.DecimalField(max_digits=6, decimal_places=2)
num2 = models.DecimalField(max_digits=6, decimal_places=2)
op = models.CharField(max_length=3)
所以我的模型基本上是三列,前兩個是數第三個是要執行的操作,無論是「子」,「添加」。例如:
num1 |num2| op
1.01 5.67 'ADD'
87.3 23.4 'SUB'
.
.
.
比方說,我想第四個欄,這三個在明顯的方式計算的,即它增加了兩個,如果op是「添加」,然後減去如果是「子」。
最後,我有我的表:
class CalcTable(tables.Table)
num1 = tables.Column(verbose_name='Operand 1')
num2 = tables.Column(verbose_name='Operand 2')
operation = tables.Column(verbose_name='Operation')
result = tables.Column(verbose_name='The Result')
我怎樣才能得到django-tables2
來填充我的結果列?是否通過render
?也許類似
def render_result(self, value, record):
#add up
但我在這方面的嘗試失敗了。事實上,即使返回一個常數return 3.0
,只需將第四列留空即可。