Here are the examples of the python api sqlalchemy.ext.declarative.declared_attr taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
19 Examples
3
Example 1
Project: pyramid_basemodel Source File: slug.py
@declarative.declared_attr
def slug(cls):
"""A url friendly slug, e.g.: `foo-bar`."""
l = cls._max_slug_length
is_unique = cls._slug_is_unique
return Column(Unicode(l), nullable=False, unique=is_unique)
3
Example 2
Project: pyramid_basemodel Source File: slug.py
@declarative.declared_attr
def name(cls):
"""A human readable name, e.g.: `Foo Bar`."""
l = cls._max_slug_length
return Column(Unicode(l), nullable=False)
3
Example 3
Project: kit Source File: orm.py
def __init__(self, session, model_class=Model, query_class=Query,
persistent_cache=False):
session.configure(query_cls=query_class)
self.session = session
self._registry = {}
self.Model = declarative_base(cls=Model, class_registry=self._registry)
self.Model.q = _QueryProperty(session)
self.Model.t = _TableProperty(session)
if persistent_cache:
def __cache__(cls):
return Column(JSONEncodedDict)
self.Model.__cache__ = declared_attr(__cache__)
self.backref = partial(_backref, query_class=query_class)
self.relationship = partial(_relationship, query_class=query_class)
3
Example 4
Project: cloudkitty Source File: f8c799db4aa0_fix_unnamed_constraints.py
@declarative.declared_attr
def __table_args__(cls):
args = (
schema.UniqueConstraint(
'field_id',
'name',
name='uniq_field'),
schema.UniqueConstraint(
'service_id',
'name',
name='uniq_map_service_field'),
HashMapBase.__table_args__,)
return args
3
Example 5
Project: cloudkitty Source File: f8c799db4aa0_fix_unnamed_constraints.py
@declarative.declared_attr
def __table_args__(cls):
args = (
schema.UniqueConstraint(
'value',
'field_id',
name='uniq_field_mapping'),
schema.UniqueConstraint(
'value',
'service_id',
name='uniq_service_mapping'),
HashMapBase.__table_args__,)
return args
3
Example 6
Project: cloudkitty Source File: f8c799db4aa0_fix_unnamed_constraints.py
@declarative.declared_attr
def __table_args__(cls):
args = (
schema.UniqueConstraint(
'level',
'field_id',
name='uniq_field_threshold'),
schema.UniqueConstraint(
'level',
'service_id',
name='uniq_service_threshold'),
HashMapBase.__table_args__,)
return args
3
Example 7
Project: cloudkitty Source File: models.py
@declarative.declared_attr
def __table_args__(cls):
args = (
schema.UniqueConstraint(
'service_id',
'name',
name='uniq_field_per_service'),
HashMapBase.__table_args__,)
return args
3
Example 8
Project: cloudkitty Source File: models.py
@declarative.declared_attr
def __table_args__(cls):
args = (
schema.UniqueConstraint(
'value',
'field_id',
'tenant_id',
name='uniq_field_mapping'),
schema.UniqueConstraint(
'value',
'service_id',
'tenant_id',
name='uniq_service_mapping'),
HashMapBase.__table_args__,)
return args
3
Example 9
Project: cloudkitty Source File: models.py
@declarative.declared_attr
def __table_args__(cls):
args = (
schema.UniqueConstraint(
'level',
'field_id',
'tenant_id',
name='uniq_field_threshold'),
schema.UniqueConstraint(
'level',
'service_id',
'tenant_id',
name='uniq_service_threshold'),
HashMapBase.__table_args__,)
return args
3
Example 10
@declarative.declared_attr
def type(cls):
return sqlalchemy.Column(
sqlalchemy.String(255),
sqlalchemy.ForeignKey('resource_type.name',
ondelete="RESTRICT",
name="fk_%s_resource_type_name" %
cls.__tablename__),
nullable=False)
3
Example 11
Project: gnocchi Source File: sqlalchemy_base.py
@declarative.declared_attr
def id(cls):
tablename_compact = cls.__tablename__
if tablename_compact.endswith("_history"):
tablename_compact = tablename_compact[:-6]
return sqlalchemy.Column(
sqlalchemy_utils.UUIDType(),
sqlalchemy.ForeignKey(
'resource.id',
ondelete="CASCADE",
name="fk_%s_id_resource_id" % tablename_compact,
# NOTE(sileht): We use to ensure that postgresql
# does not use AccessExclusiveLock on destination table
use_alter=True),
primary_key=True
)
3
Example 12
@declarative.declared_attr
def revision(cls):
tablename_compact = cls.__tablename__
if tablename_compact.endswith("_history"):
tablename_compact = tablename_compact[:-6]
return sqlalchemy.Column(
sqlalchemy.Integer,
sqlalchemy.ForeignKey(
'resource_history.revision',
ondelete="CASCADE",
name="fk_%s_revision_rh_revision"
% tablename_compact,
# NOTE(sileht): We use to ensure that postgresql
# does not use AccessExclusiveLock on destination table
use_alter=True),
primary_key=True
)
3
Example 13
Project: networking-midonet Source File: gateway_device.py
@declarative.declared_attr
def __table_args__(cls):
return (
sa.ForeignKeyConstraint(['device_id'],
['midonet_gateway_devices.id'],
ondelete="CASCADE"),
model_base.BASEV2.__table_args__,
)
0
Example 14
Project: iktomi Source File: mixin.py
def declared_mixin(*bases):
'''Create mix-in class with all assignments turned into methods decorated
with declared_attr. Usage:
@declared_mixin
def FactoryFunction():
or with base mix-in class[es]:
@declared_mixin(BaseMixIn1, BaseMixIn2)
def FactoryFunction():
For example:
@declared_mixin
def WithParent():
parent_id = Column(ForeignKey(Parent.id))
parent = relationship(Parent)
is equivalent to
class WithParent(object):
@declared_attr
def parent_id(cls):
return Column(ForeignKey(Parent.id))
@declared_attr
def parent(cls):
return relationship(Parent)
'''
def wrapper(func):
attrs = weakref.WeakKeyDictionary()
def create_descriptor(name):
def get_attr(cls):
if cls not in attrs:
# Call func only once per class
attrs[cls] = return_locals(func)()
return attrs[cls][name]
get_attr.__name__ = name
return declared_attr(get_attr)
dict_ = {name: create_descriptor(name)
for name in six.get_function_code(func).co_varnames}
dict_['__doc__'] = func.__doc__
return type(func.__name__, bases, dict_)
if len(bases)==1 and not isinstance(bases[0], type):
# Short form (without bases) is used
func = bases[0]
bases = ()
return wrapper(func)
else:
return wrapper
0
Example 15
@declarative.declared_attr
def __table_args__(cls):
return (sqlalchemy.CheckConstraint('started_at <= ended_at',
name="ck_started_before_ended"),
COMMON_TABLES_ARGS)
0
Example 16
@declarative.declared_attr
def __table_args__(cls):
return (COMMON_TABLES_ARGS, )
0
Example 17
@declarative.declared_attr
def tenant_id(cls):
return orm.synonym(
'project_id',
descriptor=property(cls.get_tenant_id, cls.set_tenant_id))
0
Example 18
@declarative.declared_attr
def __tablename__(cls):
# Use the pluralized name of the class as the table name.
return cls.__name__.lower() + 's'
0
Example 19
@declarative.declared_attr
def __tablename__(cls):
# NOTE(jkoelker) use the pluralized name of the class as the table
return cls.__name__.lower() + 's'