All model checks (including `id` check) are performed on relationship models too, since we run `check` method of all models (including relationship models) in https://github.com/chrismedrela/django/blob/40c2d592ce0d16e05cced1b2c19339982f260523/django/core/checks/default_checks.py#L10. That means that if you have a `Model` model with a m2m field through `Relatioship` model and you run `Model.check()`, then `Relationship` won't be checked. To check the relationship model, you need to write `Relationship.check()` or run all checks (`django.core.checks.run_checks`).