В Django 3.2, как мне инициализировать мое поле ManyToMany в моем констуркторе значениями из массива?

Я использую Python 3.9 и Django 3.2. У меня есть модель с полем ManyToMany ...

class Account(models.Model):    
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    active = models.BooleanField(default=True)
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
    )
    vendor = models.ForeignKey(Vendor, on_delete=models.DO_NOTHING)
    crypto_currencies = models.ManyToManyField(CryptoCurrency)

    def __init__(self, user, vendor, crypto_currencies_arr, max_transactions=DEFAULT_MAX_BUY_TRANSACTIONS):
        self.crypto_currencies.set( set() )
        for cc in crypto_currencies_arr:
            self.crypto_currencies.add(cc)
        super().__init__(
            user=user,
            vendor=vendor,
            crypto_currencies=self.crypto_currencies
        )

У меня проблемы с тем, чтобы понять, как инициализировать поле many-to-many массивом. В результате возникает ошибка

>>> account = Account(user=u, vendor=v, crypto_currencies_arr=[c])
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    account = Account(user=u, vendor=v, crypto_currencies_arr=[c])
  File "/Users/davea/Documents/workspace/cbapp/cbapp/models/account.py", line 47, in __init__
    self.crypto_currencies.set( set() )
  File "/Users/davea/Documents/workspace/cbapp/venv/lib/python3.9/site-packages/django/db/models/fields/related_descriptors.py
", line 536, in __get__
    return self.related_manager_cls(instance)
  File "/Users/davea/Documents/workspace/cbapp/venv/lib/python3.9/site-packages/django/db/models/fields/related_descriptors.py
", line 846, in __init__
    self.core_filters[core_filter_key] = getattr(instance, rh_field.attname)
  File "/Users/davea/Documents/workspace/cbapp/venv/lib/python3.9/site-packages/django/db/models/query_utils.py", line 142, in
 __get__
    val = self._check_parent_chain(instance)
  File "/Users/davea/Documents/workspace/cbapp/venv/lib/python3.9/site-packages/django/db/models/query_utils.py", line 158, in
 _check_parent_chain
    return getattr(instance, link_field.attname)
AttributeError: 'NoneType' object has no attribute 'attname'

Как правильно установить поле "многие ко многим" со значениями из массива?

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