first commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
from ..connection import connect
|
||||
from ..slugify import slugify
|
||||
from ..definitions.get_definition import get_definition
|
||||
|
||||
|
||||
def relation_options(slug, related_definition_id):
|
||||
"""Lignes existantes d'un objet lié, pour peupler un <select> de relation."""
|
||||
related = get_definition(slug, related_definition_id)
|
||||
conn = connect(slug)
|
||||
rows = conn.execute(f"SELECT * FROM {related['table_name']} ORDER BY id").fetchall()
|
||||
conn.close()
|
||||
display_field = related["fields"][0]["name"] if related["fields"] else "id"
|
||||
display_col = slugify(display_field).replace("-", "_")
|
||||
options = []
|
||||
for r in rows:
|
||||
r = dict(r)
|
||||
label = r.get(display_col, f"#{r['id']}")
|
||||
options.append({"id": r["id"], "label": f"{label} (#{r['id']})"})
|
||||
return options
|
||||
Reference in New Issue
Block a user