# sqlobject.styles module

class `sqlobject.styles.``Style`(pythonAttrToDBColumn=None, dbColumnToPythonAttr=None, pythonClassToDBTable=None, dbTableToPythonClass=None, idForTable=None, longID=False)

  Bases: `object`

  The base Style class, and also the simplest implementation. No translation occurs – column names and attribute names match, as do class names and table names (when using auto class or schema generation).

  `dbColumnToPythonAttr`(col)
  `dbTableToPythonClass`(table)
  `idForTable`(table)
  `instanceAttrToIDAttr`(attr)
  `instanceIDAttrToAttr`(attr)
  `pythonAttrToDBColumn`(attr)
  `pythonClassToAttr`(className)
  `pythonClassToDBTable`(className)
  `tableReference`(table)

class `sqlobject.styles.``MixedCaseUnderscoreStyle`(pythonAttrToDBColumn=None, dbColumnToPythonAttr=None, pythonClassToDBTable=None, dbTableToPythonClass=None, idForTable=None, longID=False)

  Bases: `sqlobject.styles.Style`

  This is the default style. Python attributes use mixedCase, while database columns use underscore_separated.

  `dbColumnToPythonAttr`(col)
  `dbTableToPythonClass`(table)
  `pythonAttrToDBColumn`(attr)
  `pythonClassToDBTable`(className)
  `pythonClassToDBTableReference`(className)
  `tableReference`(table)

`sqlobject.styles.``DefaultStyle`

  alias of `sqlobject.styles.MixedCaseUnderscoreStyle`

class `sqlobject.styles.``MixedCaseStyle`(pythonAttrToDBColumn=None, dbColumnToPythonAttr=None, pythonClassToDBTable=None, dbTableToPythonClass=None, idForTable=None, longID=False)

  Bases: `sqlobject.styles.Style`

  This style leaves columns as mixed-case, and uses long ID names (like ProductID instead of simply id).

  `dbColumnToPythonAttr`(col)
  `dbTableToPythonClass`(table)
  `pythonAttrToDBColumn`(attr)
  `tableReference`(table)