From 54c382b1c53c262f7c54ef2799856f50910d8f2f Mon Sep 17 00:00:00 2001 From: Jelena Dokic Date: Mon, 27 Jun 2022 16:48:37 +0200 Subject: [PATCH 1/2] Fix new_from_builder function --- src/masoniteorm/query/QueryBuilder.py | 29 +++++++++++++++------------ 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/masoniteorm/query/QueryBuilder.py b/src/masoniteorm/query/QueryBuilder.py index ba9ed09ba..46f6761ba 100644 --- a/src/masoniteorm/query/QueryBuilder.py +++ b/src/masoniteorm/query/QueryBuilder.py @@ -1,5 +1,5 @@ import inspect -from copy import deepcopy, copy +from copy import deepcopy from ..config import load_config from ..collection.Collection import Collection @@ -355,6 +355,9 @@ def __getattr__(self, attribute): Returns: self """ + if attribute == "__setstate__": + raise AttributeError(attribute) + if attribute in self._scopes: def method(*args, **kwargs): @@ -1963,19 +1966,19 @@ def new_from_builder(self, from_builder=None): if self._table: builder.table(self._table.name) - builder._columns = copy(from_builder._columns) - builder._creates = copy(from_builder._creates) + builder._columns = deepcopy(from_builder._columns) + builder._creates = deepcopy(from_builder._creates) builder._sql = "" - builder._bindings = copy(from_builder._bindings) - builder._updates = copy(from_builder._updates) - builder._wheres = copy(from_builder._wheres) - builder._order_by = copy(from_builder._order_by) - builder._group_by = copy(from_builder._group_by) - builder._joins = copy(from_builder._joins) - builder._having = copy(from_builder._having) - builder._macros = copy(from_builder._macros) - builder._aggregates = copy(from_builder._aggregates) - builder._global_scopes = copy(from_builder._global_scopes) + builder._bindings = deepcopy(from_builder._bindings) + builder._updates = deepcopy(from_builder._updates) + builder._wheres = deepcopy(from_builder._wheres) + builder._order_by = deepcopy(from_builder._order_by) + builder._group_by = deepcopy(from_builder._group_by) + builder._joins = deepcopy(from_builder._joins) + builder._having = deepcopy(from_builder._having) + builder._macros = deepcopy(from_builder._macros) + builder._aggregates = deepcopy(from_builder._aggregates) + builder._global_scopes = deepcopy(from_builder._global_scopes) return builder From 59107ef9ac0847f1616a654e51bff5ef83b22806 Mon Sep 17 00:00:00 2001 From: Jelena Dokic Date: Mon, 27 Jun 2022 16:51:28 +0200 Subject: [PATCH 2/2] update message --- src/masoniteorm/query/QueryBuilder.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/masoniteorm/query/QueryBuilder.py b/src/masoniteorm/query/QueryBuilder.py index 46f6761ba..4d97a9496 100644 --- a/src/masoniteorm/query/QueryBuilder.py +++ b/src/masoniteorm/query/QueryBuilder.py @@ -356,7 +356,9 @@ def __getattr__(self, attribute): self """ if attribute == "__setstate__": - raise AttributeError(attribute) + raise AttributeError( + "'QueryBuilder' object has no attribute '{}'".format(attribute) + ) if attribute in self._scopes: