aiida.backends.sqlalchemy.models package¶
Module to define the database models for the SqlAlchemy backend.
Submodules¶
Module to manage authentification information for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.authinfo.
DbAuthInfo
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class that keeps the authernification data.
-
__init__
(*args, **kwargs)¶
-
__mapper__
= <Mapper at 0x7fef3a2a55f8; DbAuthInfo>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.authinfo'¶
-
__table__
= Table('db_dbauthinfo', MetaData(bind=None), Column('id', Integer(), table=<db_dbauthinfo>, primary_key=True, nullable=False), Column('aiidauser_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbauthinfo>), Column('dbcomputer_id', Integer(), ForeignKey('db_dbcomputer.id'), table=<db_dbauthinfo>), Column('metadata', JSONB(astext_type=Text()), table=<db_dbauthinfo>), Column('auth_params', JSONB(astext_type=Text()), table=<db_dbauthinfo>), Column('enabled', Boolean(), table=<db_dbauthinfo>, default=ColumnDefault(True)), schema=None)¶
-
__table_args__
= (UniqueConstraint(Column('aiidauser_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbauthinfo>), Column('dbcomputer_id', Integer(), ForeignKey('db_dbcomputer.id'), table=<db_dbauthinfo>)),)¶
-
__tablename__
= 'db_dbauthinfo'¶
-
_metadata
¶
-
_sa_class_manager
= {'_metadata': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'aiidauser': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'aiidauser_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'auth_params': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'enabled': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
aiidauser
¶
-
aiidauser_id
¶
-
auth_params
¶
-
dbcomputer
¶
-
dbcomputer_id
¶
-
enabled
¶
-
id
¶
-
Base SQLAlchemy models.
-
class
aiida.backends.sqlalchemy.models.base.
Model
[source]¶ Bases:
object
Query model.
-
__dict__
= mappingproxy({'__module__': 'aiida.backends.sqlalchemy.models.base', '__doc__': 'Query model.', 'query': <aiida.backends.sqlalchemy.models.base._QueryProperty object>, 'session': <aiida.backends.sqlalchemy.models.base._SessionProperty object>, 'save': <function Model.save>, 'delete': <function Model.delete>, '__dict__': <attribute '__dict__' of 'Model' objects>, '__weakref__': <attribute '__weakref__' of 'Model' objects>})¶
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
delete
(commit=True)[source]¶ Emulate the behavior of Django’s delete() method
- Parameters
commit – whether to do a commit or just remover from the session
-
query
= None¶
-
save
(commit=True)[source]¶ Emulate the behavior of Django’s save() method
- Parameters
commit – whether to do a commit or just add to the session
- Returns
the SQLAlchemy instance
-
session
= <sqlalchemy.orm.session.Session object>¶
-
-
class
aiida.backends.sqlalchemy.models.base.
_AiidaQuery
(entities, session=None)[source]¶ Bases:
sqlalchemy.orm.query.Query
AiiDA query.
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
-
class
aiida.backends.sqlalchemy.models.base.
_QueryProperty
(query_class=<class 'sqlalchemy.orm.query.Query'>)[source]¶ Bases:
object
Query property.
-
__dict__
= mappingproxy({'__module__': 'aiida.backends.sqlalchemy.models.base', '__doc__': 'Query property.', '__init__': <function _QueryProperty.__init__>, '__get__': <function _QueryProperty.__get__>, '__dict__': <attribute '__dict__' of '_QueryProperty' objects>, '__weakref__': <attribute '__weakref__' of '_QueryProperty' objects>})¶
-
__init__
(query_class=<class 'sqlalchemy.orm.query.Query'>)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
-
class
aiida.backends.sqlalchemy.models.base.
_SessionProperty
[source]¶ Bases:
object
Session Property
-
__dict__
= mappingproxy({'__module__': 'aiida.backends.sqlalchemy.models.base', '__doc__': 'Session Property', '__get__': <function _SessionProperty.__get__>, '__dict__': <attribute '__dict__' of '_SessionProperty' objects>, '__weakref__': <attribute '__weakref__' of '_SessionProperty' objects>})¶
-
__module__
= 'aiida.backends.sqlalchemy.models.base'¶
-
__weakref__
¶ list of weak references to the object (if defined)
-
Module to manage comments for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.comment.
DbComment
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store comments using SQLA backend.
-
__init__
(*args, **kwargs)¶ Adding mtime attribute if not present.
-
__mapper__
= <Mapper at 0x7fef3a2af940; DbComment>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.comment'¶
-
__table__
= Table('db_dbcomment', MetaData(bind=None), Column('id', Integer(), table=<db_dbcomment>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbcomment>, default=ColumnDefault(<function get_new_uuid>)), Column('dbnode_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dbcomment>), Column('ctime', DateTime(timezone=True), table=<db_dbcomment>, default=ColumnDefault(<function now>)), Column('mtime', DateTime(timezone=True), table=<db_dbcomment>, onupdate=ColumnDefault(<function now>), default=ColumnDefault(<function now>)), Column('user_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbcomment>), Column('content', Text(), table=<db_dbcomment>), schema=None)¶
-
__tablename__
= 'db_dbcomment'¶
-
_sa_class_manager
= {'content': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ctime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'mtime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
content
¶
-
ctime
¶
-
dbnode
¶
-
dbnode_id
¶
-
id
¶
-
mtime
¶
-
user
¶
-
user_id
¶
-
uuid
¶
-
Module to manage computers for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.computer.
DbComputer
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store computers using SQLA backend.
-
__init__
(*args, **kwargs)¶ Provide _metadata and description attributes to the class.
-
__mapper__
= <Mapper at 0x7fef3a2af198; DbComputer>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.computer'¶
-
__table__
= Table('db_dbcomputer', MetaData(bind=None), Column('id', Integer(), table=<db_dbcomputer>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbcomputer>, default=ColumnDefault(<function get_new_uuid>)), Column('name', String(length=255), table=<db_dbcomputer>, nullable=False), Column('hostname', String(length=255), table=<db_dbcomputer>), Column('description', Text(), table=<db_dbcomputer>), Column('scheduler_type', String(length=255), table=<db_dbcomputer>), Column('transport_type', String(length=255), table=<db_dbcomputer>), Column('metadata', JSONB(astext_type=Text()), table=<db_dbcomputer>), schema=None)¶
-
__tablename__
= 'db_dbcomputer'¶
-
_metadata
¶
-
_sa_class_manager
= {'_metadata': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'authinfos': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'hostname': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'scheduler_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'transport_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
authinfos
¶
-
dbnodes
¶
-
description
¶
-
hostname
¶
-
id
¶
-
name
¶
-
property
pk
¶
-
scheduler_type
¶
-
transport_type
¶
-
uuid
¶
-
Module to manage computers for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.group.
DbGroup
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store groups using SQLA backend.
-
__init__
(**kwargs)¶ A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
__mapper__
= <Mapper at 0x7fef3a239240; DbGroup>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.group'¶
-
__table__
= Table('db_dbgroup', MetaData(bind=None), Column('id', Integer(), table=<db_dbgroup>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbgroup>, default=ColumnDefault(<function get_new_uuid>)), Column('label', String(length=255), table=<db_dbgroup>), Column('type_string', String(length=255), table=<db_dbgroup>, default=ColumnDefault('')), Column('time', DateTime(timezone=True), table=<db_dbgroup>, default=ColumnDefault(<function now>)), Column('description', Text(), table=<db_dbgroup>), Column('user_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbgroup>), schema=None)¶
-
__table_args__
= (UniqueConstraint(Column('label', String(length=255), table=<db_dbgroup>), Column('type_string', String(length=255), table=<db_dbgroup>, default=ColumnDefault(''))),)¶
-
__tablename__
= 'db_dbgroup'¶
-
_sa_class_manager
= {'dbnodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'label': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'type_string': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
dbnodes
¶
-
description
¶
-
id
¶
-
label
¶
-
property
pk
¶
-
time
¶
-
type_string
¶
-
user
¶
-
user_id
¶
-
uuid
¶
-
Module to manage logs for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.log.
DbLog
(time, loggername, levelname, dbnode_id, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store logs using SQLA backend.
-
__init__
(time, loggername, levelname, dbnode_id, **kwargs)¶ Setup initial value for the class attributes.
-
__mapper__
= <Mapper at 0x7fef3aa09d68; DbLog>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.log'¶
-
__table__
= Table('db_dblog', MetaData(bind=None), Column('id', Integer(), table=<db_dblog>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dblog>, default=ColumnDefault(<function get_new_uuid>)), Column('time', DateTime(timezone=True), table=<db_dblog>, default=ColumnDefault(<function now>)), Column('loggername', String(length=255), table=<db_dblog>), Column('levelname', String(length=255), table=<db_dblog>), Column('dbnode_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dblog>, nullable=False), Column('message', Text(), table=<db_dblog>), Column('metadata', JSONB(astext_type=Text()), table=<db_dblog>), schema=None)¶
-
__tablename__
= 'db_dblog'¶
-
_metadata
¶
-
_sa_class_manager
= {'_metadata': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnode_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'levelname': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'loggername': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'message': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
dbnode
¶
-
dbnode_id
¶
-
id
¶
-
levelname
¶
-
loggername
¶
-
message
¶
-
time
¶
-
uuid
¶
-
Module to manage nodes for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.node.
DbLink
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store links between nodes using SQLA backend.
-
__init__
(**kwargs)¶ A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
__mapper__
= <Mapper at 0x7fef3a2a04e0; DbLink>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.node'¶
-
__table__
= Table('db_dblink', MetaData(bind=None), Column('id', Integer(), table=<db_dblink>, primary_key=True, nullable=False), Column('input_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dblink>), Column('output_id', Integer(), ForeignKey('db_dbnode.id'), table=<db_dblink>), Column('label', String(length=255), table=<db_dblink>, nullable=False), Column('type', String(length=255), table=<db_dblink>), schema=None)¶
-
__table_args__
= ()¶
-
__tablename__
= 'db_dblink'¶
-
_sa_class_manager
= {'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'input': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'input_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'label': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'output': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'output_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
id
¶
-
input
¶
-
input_id
¶
-
label
¶
-
output
¶
-
output_id
¶
-
type
¶
-
-
class
aiida.backends.sqlalchemy.models.node.
DbNode
(*args, **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store nodes using SQLA backend.
-
__init__
(*args, **kwargs)¶ Add three additional attributes to the base class: mtime, attributes and extras.
-
__mapper__
= <Mapper at 0x7fef3a1d2470; DbNode>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.node'¶
-
__table__
= Table('db_dbnode', MetaData(bind=None), Column('id', Integer(), table=<db_dbnode>, primary_key=True, nullable=False), Column('uuid', UUID(as_uuid=True), table=<db_dbnode>, default=ColumnDefault(<function get_new_uuid>)), Column('node_type', String(length=255), table=<db_dbnode>), Column('process_type', String(length=255), table=<db_dbnode>), Column('label', String(length=255), table=<db_dbnode>, default=ColumnDefault('')), Column('description', Text(), table=<db_dbnode>, default=ColumnDefault('')), Column('ctime', DateTime(timezone=True), table=<db_dbnode>, default=ColumnDefault(<function now>)), Column('mtime', DateTime(timezone=True), table=<db_dbnode>, onupdate=ColumnDefault(<function now>), default=ColumnDefault(<function now>)), Column('attributes', JSONB(astext_type=Text()), table=<db_dbnode>), Column('extras', JSONB(astext_type=Text()), table=<db_dbnode>), Column('dbcomputer_id', Integer(), ForeignKey('db_dbcomputer.id'), table=<db_dbnode>), Column('user_id', Integer(), ForeignKey('db_dbuser.id'), table=<db_dbnode>, nullable=False), schema=None)¶
-
__tablename__
= 'db_dbnode'¶
-
_sa_class_manager
= {'attributes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'ctime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomments': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbcomputer_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbgroups': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dblogs': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'extras': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'inputs_q': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'label': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'mtime': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'node_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'outputs_q': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'process_type': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'user_id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'uuid': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
attributes
¶
-
ctime
¶
-
dbcomments
¶
-
dbcomputer
¶
-
dbcomputer_id
¶
-
dbgroups
¶
-
dblogs
¶
-
description
¶
-
extras
¶
-
get_simple_name
(invalid_result=None)[source]¶ Return a string with the last part of the type name.
If the type is empty, use ‘Node’. If the type is invalid, return the content of the input variable
invalid_result
.- Parameters
invalid_result – The value to be returned if the node type is not recognized.
-
id
¶
-
property
inputs
¶
-
inputs_q
¶
-
label
¶
-
mtime
¶
-
node_type
¶
-
property
outputs
¶
-
outputs_q
¶
-
property
pk
¶
-
process_type
¶
-
user
¶
-
user_id
¶
-
uuid
¶
-
Module to manage node settings for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.settings.
DbSetting
(**kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Class to store node settings using the SQLA backend.
-
__init__
(**kwargs)¶ A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and values in
kwargs
.Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.
-
__mapper__
= <Mapper at 0x7fef3a2a4eb8; DbSetting>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.settings'¶
-
__table__
= Table('db_dbsetting', MetaData(bind=None), Column('id', Integer(), table=<db_dbsetting>, primary_key=True, nullable=False), Column('key', String(length=255), table=<db_dbsetting>, nullable=False), Column('val', JSONB(astext_type=Text()), table=<db_dbsetting>, default=ColumnDefault({})), Column('description', String(length=255), table=<db_dbsetting>, nullable=False, default=ColumnDefault('')), Column('time', DateTime(timezone=True), table=<db_dbsetting>, onupdate=ColumnDefault(<function now>), default=ColumnDefault(<UTC>)), schema=None)¶
-
__table_args__
= (UniqueConstraint(Column('key', String(length=255), table=<db_dbsetting>, nullable=False)),)¶
-
__tablename__
= 'db_dbsetting'¶
-
_sa_class_manager
= {'description': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'key': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'time': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'val': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
description
¶
-
get_description
()[source]¶ This can be called on a given row and will get the corresponding description.
-
id
¶
-
key
¶
-
classmethod
set_value
(key, value, with_transaction=True, subspecifier_value=None, other_attribs=None, stop_if_existing=False)[source]¶ Set a setting value.
-
time
¶
-
val
¶
-
Module to manage users for the SQLA backend.
-
class
aiida.backends.sqlalchemy.models.user.
DbUser
(email, first_name='', last_name='', institution='', **kwargs)[source]¶ Bases:
sqlalchemy.ext.declarative.api.Model
Store users using the SQLA backend.
-
__init__
(email, first_name='', last_name='', institution='', **kwargs)¶ Set additional class attributes with respect to the base class.
-
__mapper__
= <Mapper at 0x7fef3a2a4ac8; DbUser>¶
-
__module__
= 'aiida.backends.sqlalchemy.models.user'¶
-
__table__
= Table('db_dbuser', MetaData(bind=None), Column('id', Integer(), table=<db_dbuser>, primary_key=True, nullable=False), Column('email', String(length=254), table=<db_dbuser>), Column('first_name', String(length=254), table=<db_dbuser>), Column('last_name', String(length=254), table=<db_dbuser>), Column('institution', String(length=254), table=<db_dbuser>), schema=None)¶
-
__tablename__
= 'db_dbuser'¶
-
_sa_class_manager
= {'authinfos': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbgroups': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'dbnodes': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'email': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'first_name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'institution': <sqlalchemy.orm.attributes.InstrumentedAttribute object>, 'last_name': <sqlalchemy.orm.attributes.InstrumentedAttribute object>}¶
-
authinfos
¶
-
dbgroups
¶
-
dbnodes
¶
-
email
¶
-
first_name
¶
-
id
¶
-
institution
¶
-
last_name
¶
-