def modify_fields(**kwargs): """ Allows you to modify certain properties on fields inherited from an abstract superclass Usage: @modify_fields(timestamp={ 'verbose_name': 'Available From', 'help_text': 'Earliest date you can book this'}) class Purchase(BaseOrderItem): pass """ def wrap(cls): for field, prop_dict in kwargs.items(): for prop, val in prop_dict.items(): setattr(cls._meta.get_field(field), prop, val) return cls return wrap