Django async aadd() не работает на моделях ManyRelatedManager?
В последнее время я разрабатываю приложение с помощью Django ninja. Я хочу добавить Group к группам пользователей, но утверждение, кажется, не имеет никакого эффекта. Оно не фиксируется в БД. Я пробовал atomic, и все решения, но это не работает. У меня есть база данных для тестов:
settings.DATABASES["default"] = {
"ENGINE": "django.db.backends.sqlite3",
"NAME": ":memory:",
"ATOMIC_REQUESTS": False,
"TIME_ZONE": "America/Chicago",
"CONN_HEALTH_CHECKS": True,
"CONN_MAX_AGE": 0,
"OPTIONS": {},
"AUTOCOMMIT": True
}
Это код:
group = await cls.repository.get_group_by_name(name)
assert group
await user.groups.aadd(group)
В документации Django это должно работать просто отлично, но это не так. Я использую AsyncClient из Django для запуска тестов.
Любой совет?
Ок, кажется, я не вспомнил, что Django не позволяет создавать m2m-отношения при создании объекта. Простое решение:
@receiver(post_save, sender=CustomUser, dispatch_uid="custom_user_saved")
async def custom_user_post_save(sender, instance, created, signal, update_fields, **kwargs):
if created:
await UserService.configure_new_user(instance)