|
12 | 12 | import re
|
13 | 13 | Base = declarative_base()
|
14 | 14 |
|
15 |
| -def generate_data_model_diagram(models, output_file='my_data_model_diagram'): |
| 15 | +def generate_data_model_diagram(models, output_file='my_data_model_diagram', add_labels=True): |
16 | 16 | # Initialize graph with more advanced visual settings
|
17 | 17 | dot = graphviz.Digraph(comment='Interactive Data Models', format='svg',
|
18 | 18 | graph_attr={'bgcolor': '#EEEEEE', 'rankdir': 'TB', 'splines': 'spline'},
|
@@ -56,7 +56,7 @@ def generate_data_model_diagram(models, output_file='my_data_model_diagram'):
|
56 | 56 | for rel in insp.relationships:
|
57 | 57 | target_name = rel.mapper.class_.__name__
|
58 | 58 | tooltip = f"Relation between {name} and {target_name}"
|
59 |
| - dot.edge(name, target_name, label=rel.key, tooltip=tooltip, color="#1E88E5", style="dashed") |
| 59 | + dot.edge(name, target_name, label=rel.key if add_labels else None, tooltip=tooltip, color="#1E88E5", style="dashed") |
60 | 60 |
|
61 | 61 | # Render the graph to a file and open it
|
62 | 62 | dot.render(output_file, view=True)
|
@@ -301,5 +301,5 @@ class GenericBillingInfo(Base):
|
301 | 301 |
|
302 | 302 | output_file_name = 'my_data_model_diagram'
|
303 | 303 | # Generate the diagram and add interactivity
|
304 |
| - generate_data_model_diagram(models, output_file_name) |
| 304 | + generate_data_model_diagram(models, output_file_name, add_labels=True) |
305 | 305 | add_web_font_and_interactivity('my_data_model_diagram.svg', 'my_interactive_data_model_diagram.svg')
|
0 commit comments