for o in orders:
rows.append([o.id,
u'%s' % o.get_o_type_display(),
u'%s' % o.o_number,
u'%s, Цвет: %s' % (o.canvas.f_name(), o.color.code) if o.o_type=='1' else u'%s, %s' % (o.part.name, o.part.get_units_display()),
u'%s, Цвет: %s' % (o.r_canvas.f_name(), o.r_color.code) if o.o_type=='1' else u'%s, %s' % (o.part.name, o.part.get_units_display()),
o.rest.id,
u'%s' % o.dealer,
u'%s' % o.dealer.city.name,
o.dealer.id,
u'%s' % o.warehouse,
o.amount,
o.perimetr if o.perimetr else u'-',
o.fix_price,
o.full_price,
o.cost,
u'%s' % o.calc_increase,
o.mat_cost,
u'%s' % o.owner,
o.entry_date.strftime("%Y-%m-%d"),
o.accept_date.strftime("%Y-%m-%d"),
o.in_prod_date.strftime("%Y-%m-%d"),
o.shipping_date.strftime("%Y-%m-%d"),
o.defect,
o.defect_return,
u'%s' % o.manager_memo,
u'%s' % o.dealer_memo,
u'%s' % o.warehouse_memo,
u'%s' % o.final_memo,
u'%s' % o.final_d_memo,
u'%s' % (o.canvas.c_width) if o.o_type=='1' else u'-',
u'%s' % (o.color.code) if o.o_type=='1' else u'-',
])
Код я расписал именно для того, чтобы была точно понятна логика того, что мне нужно.
Ну и если никто не вспомнил какой-то хитрой функции, значит стандартный итератор будет использоваться.