Получение 'No field found in Account with column name ""' при создании данных для проекта с использованием библиотеки django-multitenant

Я пытаюсь создать сценарий миграции данных для вставки исходных данных

У меня есть файл миграции следующего вида

Account = apps.get_model("quickstart", "Account") 
Account.objects.using(db_alias).bulk_create([   
    Account(name="johndoe", domain="domain", subdomain="subdomain",     country=Country.objects.get(name="USA")),             
    Account(name="jilldoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="USA")),             
    Account(name="milldoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="USA")),             
    Account(name="velidoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="Turkiye")),             
    Account(name="alidoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="Turkiye")),             
    Account(name="pierredoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="France")),         
    ])

Когда я выполняю ./manage migrate, я получаю ошибку ниже

Код моего счета приведен ниже, а tenant_id определен

class Account(TenantModel):
    name = models.CharField(max_length=255)
    domain = models.CharField(max_length=255)
    subdomain = models.CharField(max_length=255)
    country = models.ForeignKey(Country, on_delete=models.CASCADE)
    tenant_id = "id" 

Даже если tenant_id определен, у меня возникают проблемы. В чем может быть проблема?

Нашел решение проблемы

При использовании django-multitenant мы должны импортировать классы напрямую. Мы не должны получать классы с помощью app.get_model, поскольку django-multitenant не может определить колонку tenant_id из экземпляра класса, возвращаемого из app.get_model. Я удалил строку app.get_model и добавил оператор импорта, как показано ниже

from ..models import *
Account.objects.using(db_alias).bulk_create([   
    Account(name="johndoe", domain="domain", subdomain="subdomain",     country=Country.objects.get(name="USA")),             
    Account(name="jilldoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="USA")),             
    Account(name="milldoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="USA")),             
    Account(name="velidoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="Turkiye")),             
    Account(name="alidoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="Turkiye")),             
    Account(name="pierredoe", domain="domain", subdomain="subdomain", country=Country.objects.get(name="France")),         
    ])
Вернуться на верх