def get_list_value(self, context, model, name): """ Returns the value to be displayed in the list view :param context: :py:class:`jinja2.runtime.Context` :param model: Model instance :param name: Field name """ column_fmt = self.column_formatters.get(name) if column_fmt is not None: return column_fmt(context, model, name) value = rec_getattr(model, name) choices_map = self._column_choices_map.get(name, {}) if choices_map: return choices_map.get(value) or value type_fmt = self.column_type_formatters.get(type(value)) if type_fmt is not None: value = type_fmt(value) return value
def get_list_value(self, model, name): """ Returns value to be displayed in list view :param model: Model instance :param name: Field name """ if name in self.list_formatters: return self.list_formatters[name](model, name) return rec_getattr(model, name)
def get_list_value(self, context, model, name): """ Returns value to be displayed in list view :param context: :py:class:`jinja2.runtime.Context` :param model: Model instance :param name: Field name """ if name in self.list_formatters: return self.list_formatters[name](context, model, name) return rec_getattr(model, name)
def get_export_csv(self): self.export_columns = [column_name for column_name, _ in self._list_columns] io = StringIO() rows = csv.DictWriter(io, self.export_columns) data = self._get_data_for_export() rows.writeheader() for item in data: row = {column: unicode(rec_getattr(item, column)).encode('utf-8') for column in self.export_columns} rows.writerow(row) io.seek(0) return io.getvalue()
def _get_field_value(self, model, name): """ Get unformatted field value from the model """ return rec_getattr(model, name)