def __init__(self, *args, **kwargs): if len(args) > 1 and hasattr(args[1], '__call__') or 'func' in kwargs: models.Model.__init__(self) Job.__init__(self, *args, **kwargs) else: models.Model.__init__(self, *args, **kwargs) self.instances = 0 self._lock = Lock() self.func = ref_to_obj(self.func_ref)