diff options
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c554a0ee2..19be62948 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -60,7 +60,7 @@ from django.core.serializers import serialize from django.core.urlresolvers import reverse, NoReverseMatch from django.core.validators import validate_slug from django.db import connection -from django.db.models import Q, Max, Count +from django.db.models import Q, Max, Count, F from django.db.models.signals import post_save, post_delete, m2m_changed from django.db.models.fields.related import ManyToManyField, ManyToManyRel from django.db.utils import DatabaseError @@ -843,6 +843,8 @@ class GeneralType(Cached, models.Model): else: for item in childs.values("id", "parent_id", "label").all(): parent_id = item["parent_id"] or 0 + if item["id"] == item["parent_id"]: + parent_id = 0 if parent_id not in res: res[parent_id] = [] res[parent_id].append((item["id"], item["label"])) @@ -916,13 +918,6 @@ class GeneralType(Cached, models.Model): if not exclude: exclude = [] dct['available'] = True - dct['parent'] = None - items = cls.objects.filter(**dct) - if exclude: - items = items.exclude(txt_idx__in=exclude) - if hasattr(cls, 'order'): - items = items.order_by('order') - child_list = cls._get_childs_list(dct, exclude, instances) if 0 in child_list: |