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,