Вы не можете отправить его в задачу сельдерея, потому что она должна быть сериализуемой, потому что отложенная задача хранится в очереди (Redis
или Rabbit
), и она должна быть сериализуемой.Таким образом, вы можете передать все сериализуемые типы в качестве аргументов для задачи сельдерея.
Я предлагаю передать те значения, которые вам нужно использовать в задаче.Не сам company
, а только те значения, которые вам нужны.Или вы можете поместить их в словарь и передать вместо этого.
company = Company.objects.get(pk=input.company.id)
company_data = {'id': company.id, 'your_field': company.your_field}
UserByManagerCreated.delay(company=company_data)
И, как посоветовал AKX, вы можете передать только id и получить свой company
прямо в задании.Но если это задание на отправку почты, я думаю, что вы можете отправлять только список необходимых писем в качестве аргумента, чтобы отправить туда письмо.