{
  "slug": "tortoise-orm-model-relations-schema",
  "version": 1,
  "project": "tortoise-orm",
  "title": "Tortoise ORM example models and generated SQLite relationships",
  "description": "Each event belongs to one tournament. Events and teams have a many-to-many relationship represented by event_team rows with event_id and team_id foreign keys. Reverse events and participants relations are Python accessors, not extra table columns. The main id fields are primary keys; junction pairs are unique without a declared primary key.",
  "config": {
    "design": "entity-relationship-field-boxes-cardinality-links",
    "name": "model-relations-schema",
    "style": "clean",
    "palette": [
      "#46766d"
    ],
    "accessibility": {
      "title": "Tortoise ORM example models and generated SQLite relationships",
      "description": "Each event belongs to one tournament. Events and teams have a many-to-many relationship represented by event_team rows with event_id and team_id foreign keys. Reverse events and participants relations are Python accessors, not extra table columns. The main id fields are primary keys; junction pairs are unique without a declared primary key."
    },
    "parameters": {
      "entities": [
        {
          "id": "tournament",
          "name": "tournament"
        },
        {
          "id": "event",
          "name": "event"
        },
        {
          "id": "event_team",
          "name": "event_team"
        },
        {
          "id": "team",
          "name": "team"
        }
      ],
      "fields": [
        {
          "entity": "tournament",
          "name": "id",
          "dataType": "INTEGER",
          "kind": "primary"
        },
        {
          "entity": "tournament",
          "name": "name",
          "dataType": "TEXT"
        },
        {
          "entity": "tournament",
          "name": "created",
          "dataType": "TIMESTAMP"
        },
        {
          "entity": "event",
          "name": "id",
          "dataType": "INTEGER",
          "kind": "primary"
        },
        {
          "entity": "event",
          "name": "name",
          "dataType": "TEXT"
        },
        {
          "entity": "event",
          "name": "modified",
          "dataType": "TIMESTAMP"
        },
        {
          "entity": "event",
          "name": "prize",
          "dataType": "VARCHAR(40)"
        },
        {
          "entity": "event",
          "name": "tournament_id",
          "dataType": "INT",
          "kind": "foreign"
        },
        {
          "entity": "event_team",
          "name": "event_id",
          "dataType": "INT",
          "kind": "foreign"
        },
        {
          "entity": "event_team",
          "name": "team_id",
          "dataType": "INT",
          "kind": "foreign"
        },
        {
          "entity": "team",
          "name": "id",
          "dataType": "INTEGER",
          "kind": "primary"
        },
        {
          "entity": "team",
          "name": "name",
          "dataType": "TEXT"
        }
      ],
      "edges": [
        {
          "from": "tournament",
          "to": "event",
          "fromCardinality": "one",
          "toCardinality": "zero-or-many",
          "label": "tournament_id"
        },
        {
          "from": "event",
          "to": "event_team",
          "fromCardinality": "one",
          "toCardinality": "zero-or-many",
          "label": "event_id"
        },
        {
          "from": "team",
          "to": "event_team",
          "fromCardinality": "one",
          "toCardinality": "zero-or-many",
          "label": "team_id"
        }
      ]
    }
  },
  "files": {
    "svg": {
      "url": "/diagram-sources/tortoise-orm-model-relations-schema/v1/diagram.svg",
      "sha256": "fd8a2978c9c924c30cf6494908ff99b860ebbcb6f4fc0cde3e38a68b47193466"
    },
    "png": {
      "url": "/diagram-sources/tortoise-orm-model-relations-schema/v1/diagram.png",
      "sha256": "93c37df81423897331d21b1290d2243b266fcf64d5b60f2e2beaf522910eaf83"
    },
    "mmd": {
      "url": "/diagram-sources/tortoise-orm-model-relations-schema/v1/diagram.mmd",
      "sha256": "51ee2b7f912cdef7f315b14ffe258c86b93a511f723bbadd97f7a31a0528a779"
    }
  }
}
