X-Git-Url: https://git.auf.org/?p=auf_rh_dae.git;a=blobdiff_plain;f=src%2Fqbe%2Fdjango_qbe%2Futils.py;h=7830cb0ec3dd1dad6dafe6023703d01c6c8fb582;hp=7b6851a909be2f375b6fee2a88cd3e88a7e26ada;hb=e02ec166e330a3c2e63511e1899da6a8606ea7bb;hpb=0958f8221a73c50c5c6bf5d3ef17664382a46643 diff --git a/src/qbe/django_qbe/utils.py b/src/qbe/django_qbe/utils.py index 7b6851a..7830cb0 100644 --- a/src/qbe/django_qbe/utils.py +++ b/src/qbe/django_qbe/utils.py @@ -56,7 +56,7 @@ def qbe_models(admin_site=None, only_admin_models=False, json=False): 'name': field.name, 'type': type(field).__name__, 'blank': field.blank, - 'label': u"%s" % field.verbose_name.lower().capitalize(), + 'label': "%s" % field.verbose_name.lower().capitalize(), 'primary': field.primary_key, }} @@ -88,10 +88,14 @@ def qbe_models(admin_site=None, only_admin_models=False, json=False): def get_target(field): name = field.rel.to.__module__.split(".")[-2].lower().capitalize() + try: + t_field = field.rel.field_name + except: + t_field = field.rel.to._meta.pk.name target = { 'name': name, 'model': field.rel.to.__name__, - 'field': field.rel.to._meta.pk.name, + 'field': t_field, } if hasattr(field.rel, 'through') and field.rel.through is not None: name = field.rel.through.__module__.split(".")[-2] @@ -153,6 +157,8 @@ def qbe_models(admin_site=None, only_admin_models=False, json=False): # [arrowhead=normal arrowtail=normal]' model = add_relation(model, field, extras=extras) + model['fields'] = sorted(model['fields'].items()) + app_title = app_model._meta.app_label.title().lower().capitalize() if app_title not in graphs: graphs[app_title] = {}