當前位置: 首頁>>代碼示例>>Python>>正文


Python automap.generate_relationship方法代碼示例

本文整理匯總了Python中sqlalchemy.ext.automap.generate_relationship方法的典型用法代碼示例。如果您正苦於以下問題:Python automap.generate_relationship方法的具體用法?Python automap.generate_relationship怎麽用?Python automap.generate_relationship使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在sqlalchemy.ext.automap的用法示例。


在下文中一共展示了automap.generate_relationship方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: test_relationship_pass_params

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def test_relationship_pass_params(self):
        Base = automap_base(metadata=self.metadata)

        mock = Mock()

        def _gen_relationship(
            base, direction, return_fn, attrname, local_cls, referred_cls, **kw
        ):
            mock(base, direction, attrname)
            return generate_relationship(
                base,
                direction,
                return_fn,
                attrname,
                local_cls,
                referred_cls,
                **kw
            )

        Base.prepare(generate_relationship=_gen_relationship)
        assert set(tuple(c[1]) for c in mock.mock_calls).issuperset(
            [
                (Base, interfaces.MANYTOONE, "nodes"),
                (Base, interfaces.MANYTOMANY, "keywords_collection"),
                (Base, interfaces.MANYTOMANY, "items_collection"),
                (Base, interfaces.MANYTOONE, "users"),
                (Base, interfaces.ONETOMANY, "addresses_collection"),
            ]
        ) 
開發者ID:sqlalchemy,項目名稱:sqlalchemy,代碼行數:31,代碼來源:test_automap.py

示例2: test_conditional_relationship

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def test_conditional_relationship(self):
        Base = automap_base()

        def _gen_relationship(*arg, **kw):
            return None

        Base.prepare(
            engine=testing.db,
            reflect=True,
            generate_relationship=_gen_relationship,
        ) 
開發者ID:sqlalchemy,項目名稱:sqlalchemy,代碼行數:13,代碼來源:test_automap.py

示例3: generate_relationship

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def generate_relationship(
        base, direction, return_fn, attrname, local_cls, referred_cls, **kw):
    """Generate a :func:`.relationship` or :func:`.backref` on behalf of two
    mapped classes.

    An alternate implementation of this function can be specified using the
    :paramref:`.AutomapBase.prepare.generate_relationship` parameter.

    The default implementation of this function is as follows::

        if return_fn is backref:
            return return_fn(attrname, **kw)
        elif return_fn is relationship:
            return return_fn(referred_cls, **kw)
        else:
            raise TypeError("Unknown relationship function: %s" % return_fn)

    :param base: the :class:`.AutomapBase` class doing the prepare.

    :param direction: indicate the "direction" of the relationship; this will
     be one of :data:`.ONETOMANY`, :data:`.MANYTOONE`, :data:`.MANYTOMANY`.

    :param return_fn: the function that is used by default to create the
     relationship.  This will be either :func:`.relationship` or
     :func:`.backref`.  The :func:`.backref` function's result will be used to
     produce a new :func:`.relationship` in a second step, so it is critical
     that user-defined implementations correctly differentiate between the two
     functions, if a custom relationship function is being used.

    :attrname: the attribute name to which this relationship is being assigned.
     If the value of :paramref:`.generate_relationship.return_fn` is the
     :func:`.backref` function, then this name is the name that is being
     assigned to the backref.

    :param local_cls: the "local" class to which this relationship or backref
     will be locally present.

    :param referred_cls: the "referred" class to which the relationship or
     backref refers to.

    :param \**kw: all additional keyword arguments are passed along to the
     function.

    :return: a :func:`.relationship` or :func:`.backref` construct, as dictated
     by the :paramref:`.generate_relationship.return_fn` parameter.

    """
    if return_fn is backref:
        return return_fn(attrname, **kw)
    elif return_fn is relationship:
        return return_fn(referred_cls, **kw)
    else:
        raise TypeError("Unknown relationship function: %s" % return_fn) 
開發者ID:jpush,項目名稱:jbox,代碼行數:55,代碼來源:automap.py

示例4: generate_relationship

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def generate_relationship(
        base, direction, return_fn, attrname, local_cls, referred_cls, **kw):
    r"""Generate a :func:`.relationship` or :func:`.backref` on behalf of two
    mapped classes.

    An alternate implementation of this function can be specified using the
    :paramref:`.AutomapBase.prepare.generate_relationship` parameter.

    The default implementation of this function is as follows::

        if return_fn is backref:
            return return_fn(attrname, **kw)
        elif return_fn is relationship:
            return return_fn(referred_cls, **kw)
        else:
            raise TypeError("Unknown relationship function: %s" % return_fn)

    :param base: the :class:`.AutomapBase` class doing the prepare.

    :param direction: indicate the "direction" of the relationship; this will
     be one of :data:`.ONETOMANY`, :data:`.MANYTOONE`, :data:`.MANYTOMANY`.

    :param return_fn: the function that is used by default to create the
     relationship.  This will be either :func:`.relationship` or
     :func:`.backref`.  The :func:`.backref` function's result will be used to
     produce a new :func:`.relationship` in a second step, so it is critical
     that user-defined implementations correctly differentiate between the two
     functions, if a custom relationship function is being used.

    :param attrname: the attribute name to which this relationship is being
     assigned. If the value of :paramref:`.generate_relationship.return_fn` is
     the :func:`.backref` function, then this name is the name that is being
     assigned to the backref.

    :param local_cls: the "local" class to which this relationship or backref
     will be locally present.

    :param referred_cls: the "referred" class to which the relationship or
     backref refers to.

    :param \**kw: all additional keyword arguments are passed along to the
     function.

    :return: a :func:`.relationship` or :func:`.backref` construct, as dictated
     by the :paramref:`.generate_relationship.return_fn` parameter.

    """
    if return_fn is backref:
        return return_fn(attrname, **kw)
    elif return_fn is relationship:
        return return_fn(referred_cls, **kw)
    else:
        raise TypeError("Unknown relationship function: %s" % return_fn) 
開發者ID:yfauser,項目名稱:planespotter,代碼行數:55,代碼來源:automap.py

示例5: generate_relationship

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def generate_relationship(
        base, direction, return_fn, attrname, local_cls, referred_cls, **kw):
    """Generate a :func:`.relationship` or :func:`.backref` on behalf of two
    mapped classes.

    An alternate implementation of this function can be specified using the
    :paramref:`.AutomapBase.prepare.generate_relationship` parameter.

    The default implementation of this function is as follows::

        if return_fn is backref:
            return return_fn(attrname, **kw)
        elif return_fn is relationship:
            return return_fn(referred_cls, **kw)
        else:
            raise TypeError("Unknown relationship function: %s" % return_fn)

    :param base: the :class:`.AutomapBase` class doing the prepare.

    :param direction: indicate the "direction" of the relationship; this will
     be one of :data:`.ONETOMANY`, :data:`.MANYTOONE`, :data:`.MANYTOONE`.

    :param return_fn: the function that is used by default to create the
     relationship.  This will be either :func:`.relationship` or
     :func:`.backref`.  The :func:`.backref` function's result will be used to
     produce a new :func:`.relationship` in a second step, so it is critical
     that user-defined implementations correctly differentiate between the two
     functions, if a custom relationship function is being used.

    :attrname: the attribute name to which this relationship is being assigned.
     If the value of :paramref:`.generate_relationship.return_fn` is the
     :func:`.backref` function, then this name is the name that is being
     assigned to the backref.

    :param local_cls: the "local" class to which this relationship or backref
     will be locally present.

    :param referred_cls: the "referred" class to which the relationship or
     backref refers to.

    :param \**kw: all additional keyword arguments are passed along to the
     function.

    :return: a :func:`.relationship` or :func:`.backref` construct, as dictated
     by the :paramref:`.generate_relationship.return_fn` parameter.

    """
    if return_fn is backref:
        return return_fn(attrname, **kw)
    elif return_fn is relationship:
        return return_fn(referred_cls, **kw)
    else:
        raise TypeError("Unknown relationship function: %s" % return_fn) 
開發者ID:gltn,項目名稱:stdm,代碼行數:55,代碼來源:automap.py

示例6: generate_relationship

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def generate_relationship(
    base, direction, return_fn, attrname, local_cls, referred_cls, **kw
):
    r"""Generate a :func:`_orm.relationship` or :func:`.backref`
    on behalf of two
    mapped classes.

    An alternate implementation of this function can be specified using the
    :paramref:`.AutomapBase.prepare.generate_relationship` parameter.

    The default implementation of this function is as follows::

        if return_fn is backref:
            return return_fn(attrname, **kw)
        elif return_fn is relationship:
            return return_fn(referred_cls, **kw)
        else:
            raise TypeError("Unknown relationship function: %s" % return_fn)

    :param base: the :class:`.AutomapBase` class doing the prepare.

    :param direction: indicate the "direction" of the relationship; this will
     be one of :data:`.ONETOMANY`, :data:`.MANYTOONE`, :data:`.MANYTOMANY`.

    :param return_fn: the function that is used by default to create the
     relationship.  This will be either :func:`_orm.relationship` or
     :func:`.backref`.  The :func:`.backref` function's result will be used to
     produce a new :func:`_orm.relationship` in a second step,
     so it is critical
     that user-defined implementations correctly differentiate between the two
     functions, if a custom relationship function is being used.

    :param attrname: the attribute name to which this relationship is being
     assigned. If the value of :paramref:`.generate_relationship.return_fn` is
     the :func:`.backref` function, then this name is the name that is being
     assigned to the backref.

    :param local_cls: the "local" class to which this relationship or backref
     will be locally present.

    :param referred_cls: the "referred" class to which the relationship or
     backref refers to.

    :param \**kw: all additional keyword arguments are passed along to the
     function.

    :return: a :func:`_orm.relationship` or :func:`.backref` construct,
     as dictated
     by the :paramref:`.generate_relationship.return_fn` parameter.

    """
    if return_fn is backref:
        return return_fn(attrname, **kw)
    elif return_fn is relationship:
        return return_fn(referred_cls, **kw)
    else:
        raise TypeError("Unknown relationship function: %s" % return_fn) 
開發者ID:sqlalchemy,項目名稱:sqlalchemy,代碼行數:59,代碼來源:automap.py

示例7: generate_relationship

# 需要導入模塊: from sqlalchemy.ext import automap [as 別名]
# 或者: from sqlalchemy.ext.automap import generate_relationship [as 別名]
def generate_relationship(base, direction, return_fn, attrname, local_cls, referred_cls, **kw):
    """Generate a :func:`.relationship` or :func:`.backref` on behalf of two
    mapped classes.

    An alternate implementation of this function can be specified using the
    :paramref:`.AutomapBase.prepare.generate_relationship` parameter.

    The default implementation of this function is as follows::

        if return_fn is backref:
            return return_fn(attrname, **kw)
        elif return_fn is relationship:
            return return_fn(referred_cls, **kw)
        else:
            raise TypeError("Unknown relationship function: %s" % return_fn)

    :param base: the :class:`.AutomapBase` class doing the prepare.

    :param direction: indicate the "direction" of the relationship; this will
     be one of :data:`.ONETOMANY`, :data:`.MANYTOONE`, :data:`.MANYTOONE`.

    :param return_fn: the function that is used by default to create the
     relationship.  This will be either :func:`.relationship` or :func:`.backref`.
     The :func:`.backref` function's result will be used to produce a new
     :func:`.relationship` in a second step, so it is critical that user-defined
     implementations correctly differentiate between the two functions, if
     a custom relationship function is being used.

    :attrname: the attribute name to which this relationship is being assigned.
     If the value of :paramref:`.generate_relationship.return_fn` is the
     :func:`.backref` function, then this name is the name that is being
     assigned to the backref.

    :param local_cls: the "local" class to which this relationship or backref
     will be locally present.

    :param referred_cls: the "referred" class to which the relationship or backref
     refers to.

    :param \**kw: all additional keyword arguments are passed along to the
     function.

    :return: a :func:`.relationship` or :func:`.backref` construct, as dictated
     by the :paramref:`.generate_relationship.return_fn` parameter.

    """
    if return_fn is backref:
        return return_fn(attrname, **kw)
    elif return_fn is relationship:
        return return_fn(referred_cls, **kw)
    else:
        raise TypeError("Unknown relationship function: %s" % return_fn) 
開發者ID:binhex,項目名稱:moviegrabber,代碼行數:54,代碼來源:automap.py


注:本文中的sqlalchemy.ext.automap.generate_relationship方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。