Ejemplo n.º 1
0
    def query(cls, *args, **kwargs):
        """
        Map to the aiidaobjects manager of the DbWorkflow, that returns
        Workflow objects instead of DbWorkflow entities.

        """

        q = django_filter(DbWorkflow.aiida_query, **kwargs)
        return q
Ejemplo n.º 2
0
    def query(cls, *args, **kwargs):
        q = django_filter(DbNode.aiida_query, **kwargs)
        q = q.reset_joinpoint()

        if cls._plugin_type_string:
            if not cls._plugin_type_string.endswith('.'):
                raise InternalError("The plugin type string does not "
                                    "finish with a dot??")

            # If it is 'calculation.Calculation.', we want to filter
            # for things that start with 'calculation.' and so on
            plug_type = cls._plugin_type_string

            # Remove the implementation.django or sqla part.
            if plug_type.startswith('implementation.'):
                plug_type = '.'.join(plug_type.split('.')[2:])

            pre, sep, _ = plug_type[:-1].rpartition('.')
            superclass_string = "".join([pre, sep])

            q = q.filter(DbNode.type.like("{}%".format(superclass_string)))

        return q