Fail if the FK constraint on `model.Meta.db_table`.`column` to `expected_fk_table`.id doesn't exist.
(self, model, column, expected_fk_table, field="id")
| 324 | ) |
| 325 | |
| 326 | def assertForeignKeyExists(self, model, column, expected_fk_table, field="id"): |
| 327 | """ |
| 328 | Fail if the FK constraint on `model.Meta.db_table`.`column` to |
| 329 | `expected_fk_table`.id doesn't exist. |
| 330 | """ |
| 331 | if not connection.features.can_introspect_foreign_keys: |
| 332 | return |
| 333 | constraints = self.get_constraints(model._meta.db_table) |
| 334 | constraint_fk = None |
| 335 | for details in constraints.values(): |
| 336 | if details["columns"] == [column] and details["foreign_key"]: |
| 337 | constraint_fk = details["foreign_key"] |
| 338 | break |
| 339 | self.assertEqual(constraint_fk, (expected_fk_table, field)) |
| 340 | |
| 341 | def assertForeignKeyNotExists(self, model, column, expected_fk_table): |
| 342 | if not connection.features.can_introspect_foreign_keys: |
no test coverage detected