human
Complete the below
def cache_with_field(field_name):

    ''''Decorator for generated content methods.
    If the backing model field is null, or kwarg force_fresh is True, call the
    decorated method to generate and return the content.
    Otherwise, just return the value in the backing model field.'
    '''
assistant
#Here is the Python program you requested.
    def decorator(fn):
        @wraps(fn, assigned=available_attrs(fn))
        def wrapper(self, *args, **kwargs):
            force_fresh = kwargs.pop('force_fresh', False)
            field_val = getattr(self, field_name)
            if ((field_val is not None) and (not force_fresh)):
                return field_val
            field_val = fn(self, force_fresh=force_fresh)
            setattr(self, field_name, field_val)
            return field_val
        return wrapper
    return decorator