fix slow get_is_sortable when using with inline admins
the first `if` call did execute the whole `select` query with (perhaps) millions of records in them, even though the only result needed here is one record. The acually used queryset later will be filtered by the parent-model.master
parent
5d1a6f5e98
commit
4d8091bc5e
|
|
@ -6,11 +6,13 @@ def check_inheritance(obj):
|
||||||
|
|
||||||
|
|
||||||
def get_is_sortable(objects):
|
def get_is_sortable(objects):
|
||||||
if objects:
|
if objects.count() < 2:
|
||||||
if check_inheritance(objects[0]):
|
return False
|
||||||
if objects.count() > 1:
|
|
||||||
return True
|
if not check_inheritance(objects[:1][0]):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def is_self_referential(cls):
|
def is_self_referential(cls):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue