Index: wcs/fields.py =================================================================== --- wcs/fields.py (révision 2267) +++ wcs/fields.py (copie de travail) @@ -746,6 +746,32 @@ def stats(self, values): return item_items_stats(self, values) + def get_csv_heading(self): + labels = [self.label] + if self.max_choices: + labels.extend(['']*(self.max_choices-1)) + elif len(self.items): + labels.extend(['']*(len(self.items)-1)) + return labels + + def get_csv_value(self, value): + values = [] + for one_value in value: + values.append(one_value) + if self.max_choices: + nb_columns = self.max_choices + elif len(self.items): + nb_columns = len(self.items) + else: + nb_columns = 1 + + if len(values) > nb_columns: + # this would happen if max_choices is set after forms were already + # filled with more values + values = values[:nb_columns] + elif len(values) < nb_columns: + values.extend(['']*(nb_columns-len(values))) + return values register_field_class(ItemsField)