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:
Есть Admins, и ваш Account существует, но ни один из Admins не связан с этим конкретным Account. Виджет показывает все Admins.
Таким образом, вы можете привязать Admin объекты к аккаунту, выбрав их в виджете. В этом случае account.admins.all() будет возвращать Admin объекты, выбранные для этого счета.
