Проблема в том, что внешний ключ установил двустороннюю связь. Это означает, что вы можете использовать User.trainer_set, чтобы получить все модели Trainer под пользователем, что означает, что у вас есть круговая ссылка на базу данных пользователей (получение моделей Trainer возвращает все ее поля, одно из которых является исходным пользователем модель.
Итак, чтобы исправить это, добавьте связанный аргумент имени во внешний ключ, чтобы остановить эту циклическую зависимость:
user = models.ForeignKey(User, unique=True, related_name='traineruser')
Вы можете заменить traineruser чем-то, что еще не имеет таблицы в базе данных.