Django: внешний ключ (многие-ко-многим) возвращает пустой набор запросов, несмотря на то, что он не является пустым

Моя модель:

class Account(models.Model):
"""
An account is for a team of users, or a single customer
"""
name = models.CharField(max_length=100, unique=True)
admins = models.ManyToManyField('AccountUser', related_name='+', blank=True)
metadata = models.JSONField(default=dict, blank=True)

def __str__(self):
    return self.name

@property
def customers(self):
    """Accounts linked to this account"""
    return self.linked_accounts.linked_accounts.all()

и мой код:

>>>account = Account.objects.get(id=1)
>>> print(account)
Bramble CFD
>>> print(account.name)
Bramble CFD

когда я пытаюсь получить поле admins many_to_many, я получаю следующий пустой набор запросов:

>>> print(account.admins.all())
<QuerySet []>

но поле admins не пустое, как показано на следующем снимке экрана из интерфейса администратора django:

enter image description here

Есть Admins, и ваш Account существует, но ни один из Admins не связан с этим конкретным Account. Виджет показывает все Admins.

Таким образом, вы можете привязать Admin объекты к аккаунту, выбрав их в виджете. В этом случае account.admins.all() будет возвращать Admin объекты, выбранные для этого счета.

Вернуться на верх