Remove deprecated defer_except
This commit is contained in:
@@ -4,6 +4,12 @@ Changelog
|
|||||||
Here you can see the full list of changes between each SQLAlchemy-Utils release.
|
Here you can see the full list of changes between each SQLAlchemy-Utils release.
|
||||||
|
|
||||||
|
|
||||||
|
0.29.2 (2015-01-xx)
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
- Removed deprecated defer_except (SQLAlchemy's own load_only should be used from now on)
|
||||||
|
|
||||||
|
|
||||||
0.29.1 (2015-01-03)
|
0.29.1 (2015-01-03)
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@@ -15,7 +15,6 @@ from .functions import (
|
|||||||
create_database,
|
create_database,
|
||||||
create_mock_engine,
|
create_mock_engine,
|
||||||
database_exists,
|
database_exists,
|
||||||
defer_except,
|
|
||||||
dependent_objects,
|
dependent_objects,
|
||||||
drop_database,
|
drop_database,
|
||||||
escape_like,
|
escape_like,
|
||||||
@@ -102,7 +101,6 @@ __all__ = (
|
|||||||
create_database,
|
create_database,
|
||||||
create_mock_engine,
|
create_mock_engine,
|
||||||
database_exists,
|
database_exists,
|
||||||
defer_except,
|
|
||||||
dependent_objects,
|
dependent_objects,
|
||||||
drop_database,
|
drop_database,
|
||||||
escape_like,
|
escape_like,
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
from .defer_except import defer_except
|
|
||||||
from .mock import create_mock_engine, mock_engine
|
from .mock import create_mock_engine, mock_engine
|
||||||
from .render import render_expression, render_statement
|
from .render import render_expression, render_statement
|
||||||
from .sort_query import (
|
from .sort_query import (
|
||||||
@@ -47,7 +46,6 @@ __all__ = (
|
|||||||
'create_database',
|
'create_database',
|
||||||
'create_mock_engine',
|
'create_mock_engine',
|
||||||
'database_exists',
|
'database_exists',
|
||||||
'defer_except',
|
|
||||||
'dependent_objects',
|
'dependent_objects',
|
||||||
'drop_database',
|
'drop_database',
|
||||||
'escape_like',
|
'escape_like',
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
from sqlalchemy import inspect
|
|
||||||
from sqlalchemy.orm import defer
|
|
||||||
from sqlalchemy.orm.properties import ColumnProperty
|
|
||||||
|
|
||||||
|
|
||||||
def defer_except(query, columns):
|
|
||||||
"""
|
|
||||||
Deferred loads all columns in given query, except the ones given.
|
|
||||||
|
|
||||||
This function is very useful when working with models with myriad of
|
|
||||||
columns and you want to deferred load many columns.
|
|
||||||
|
|
||||||
>>> from sqlalchemy_utils import defer_except
|
|
||||||
>>> query = session.query(Article)
|
|
||||||
>>> query = defer_except(Article, [Article.id, Article.name])
|
|
||||||
|
|
||||||
:param columns: columns not to deferred load
|
|
||||||
"""
|
|
||||||
model = query._entities[0].entity_zero.class_
|
|
||||||
for property_ in inspect(model).attrs:
|
|
||||||
if isinstance(property_, ColumnProperty):
|
|
||||||
column = property_.columns[0]
|
|
||||||
if column.name not in columns:
|
|
||||||
query = query.options(defer(property_.key))
|
|
||||||
return query
|
|
@@ -1,9 +0,0 @@
|
|||||||
from sqlalchemy_utils import defer_except
|
|
||||||
from tests import TestCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestDeferExcept(TestCase):
|
|
||||||
def test_supports_properties_as_strings(self):
|
|
||||||
query = self.session.query(self.Article)
|
|
||||||
query = defer_except(query, ['id'])
|
|
||||||
assert str(query) == 'SELECT article.id AS article_id \nFROM article'
|
|
Reference in New Issue
Block a user