def make_atom(self, child, qn, connection):
        # The make_atom() method is ignored in Django 1.7 unless explicitely required.
        # Use Lookup class instead. The make_atom() method will be removed in Django 1.9.
        lvalue, lookup_type, value_annot, params_or_value = child
        result = super(SalesforceWhereNode, self).make_atom(child, qn, connection)

        if(lookup_type in self.overridden_types):
            if hasattr(lvalue, 'process'):
                try:
                    lvalue, params = lvalue.process(lookup_type, params_or_value, connection)
                except where.EmptyShortCircuit:
                    raise EmptyResultSet
            if isinstance(lvalue, tuple):
                # A direct database column lookup.
                field_sql = self.sql_for_columns(lvalue, qn, connection)
            else:
                # A smart object with an as_sql() method.
                field_sql = lvalue.as_sql(qn, connection)

            if lookup_type == 'isnull':
                return ('%s %snull' % (field_sql,
                    (not value_annot and '!= ' or '= ')), ())
        else:
            return result


    # TODO compare, how much it is updated to 1.7
    # patched "django.db.models.sql.where.WhereNode.as_sql" from Django 1.5, 1.6., 1.7
dataset/ETHPy150Open django-salesforce/django-salesforce/salesforce/backend/compiler.py/SalesforceWhereNode.make_atom/original