summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/models.py11
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: