From f6626e1bf8e2259960d71745f44784ec89298aad Mon Sep 17 00:00:00 2001 From: Tehom Date: Wed, 21 Jun 2017 00:42:04 -0400 Subject: [PATCH] Fix extremely bizarre issue in which the query using db_model in conjunction with other fields behaved as if it was unindexed if it did not include __iexact keyword. I have absolutely no idea why it acted this way. But __iexact added resolves it. --- evennia/typeclasses/attributes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/evennia/typeclasses/attributes.py b/evennia/typeclasses/attributes.py index 58755b4955..129175bed0 100644 --- a/evennia/typeclasses/attributes.py +++ b/evennia/typeclasses/attributes.py @@ -219,7 +219,7 @@ class AttributeHandler(object): def _fullcache(self): """Cache all attributes of this object""" query = {"%s__id" % self._model: self._objid, - "attribute__db_model": self._model, + "attribute__db_model__iexact": self._model, "attribute__db_attrtype": self._attrtype} attrs = [conn.attribute for conn in getattr(self.obj, self._m2m_fieldname).through.objects.filter(**query)] self._cache = dict(("%s-%s" % (to_str(attr.db_key).lower(), @@ -273,7 +273,7 @@ class AttributeHandler(object): return [] # no such attribute: return an empty list else: query = {"%s__id" % self._model: self._objid, - "attribute__db_model": self._model, + "attribute__db_model__iexact": self._model, "attribute__db_attrtype": self._attrtype, "attribute__db_key__iexact": key.lower(), "attribute__db_category__iexact": category.lower() if category else None} @@ -298,7 +298,7 @@ class AttributeHandler(object): else: # we have to query to make this category up-date in the cache query = {"%s__id" % self._model: self._objid, - "attribute__db_model": self._model, + "attribute__db_model__iexact": self._model, "attribute__db_attrtype": self._attrtype, "attribute__db_category__iexact": category.lower() if category else None} attrs = [conn.attribute for conn