[reportlab-users] dynamic color for table column (color stored in model)

Asif Jamadar asif.jamadar at rezayat.net
Wed Nov 16 12:44:38 EST 2011

I have model called TestResults


Class TestResults(models)

chemical_name charfield
value floatfield
unit charfield
method charfield
normal_limit charfield
caution_limit charfield
color charfield


The below code will generate the table for oils, which has following fields.

fields = ('Test Name', 'Value', 'Unit', 'Method',
'Normal Limit', 'Caution Limit')

all_oils = [(test.chemical_name, test.value, test.unit, test.method,
test.normal_limit, test.caution_limit)

for test in TestResult.objects.all())]

oil_table = Table([fields] + all_oils

oil_table.setStyle(TableStyle([('BACKGROUND', (0, 0), (-1, 0), '#a7a5a5'),
('FONTSIZE', (0, 0), (-1, 0), 6),
('GRID', (0, 0), (-1, -1), 2, '#a7a5a5'),
('FONTSIZE', (0, 0), (-1, -1), 8),

Now how can I provide dynamic color for each column. Suppose my TestResult model is having field for color (I,e color=red)

In report i want dynamic color for second column which comes from model objects

How can I achieve this?

More information about the reportlab-users mailing list