Django Model Exception on Pre-existent Database: Не удается преобразовать ключевое слово 'user' в поле. Возможные варианты: organization_id

В настоящее время я создаю классы моделей Django для уже существующей базы данных. У нас есть три таблицы: Organization, User и UserOrganizationMap. Это связано с тем, что между таблицами Organization и User существует отношение "многие-ко-многим" (пользователь может принадлежать к нескольким организациям, а у организации есть несколько пользователей). Мне пришлось явно создать класс модели UserOrganizationMap, поскольку он уже существует в базе данных, и я не могу использовать тот, который будет создан Django. Вот код для создания этих моделей:

Вот код для создания этих моделей:

class Organization(models.Model):
    organization_id = models.UUIDField(primary_key=True)
    organization_name = models.TextField()

    class Meta:
        app_label = 'myapp'  # each model will require this
        managed = False
        db_table = 'organization'
class User(models.Model):
    user_id = models.UUIDField(primary_key=True)
    user_name = models.CharField()
    organizations = models.ManyToManyField(
        to=Organization,
        through='UserOrganizationMap',
        through_fields=('fk_user', 'fk_organization'),
    )

    class Meta:
        app_label = 'myapp'  # each model will require this
        managed = False
        db_table = 'user'
class UserOrganizationMap(models.Model):
    fk_user = models.ForeignKey(
        User, on_delete=models.CASCADE, db_column='user_id',)
    fk_organization = models.ForeignKey(
        Organization, on_delete=models.CASCADE, db_column='organization_id',)

    class Meta:
        app_label = 'myapp'  # each model will require this
        managed = False
        db_table = 'user_organization_map'

Когда я попытался выполнить итерацию по пользователям, я получил следующую ошибку

users = User.objects.all()
for user in users:
    print(user.user_id)
    print(user.organizations.all())

django.core.exceptions.FieldError: Cannot resolve keyword 'user' into field. Choices are: organization_id, organization_name, 
Вернуться на верх