async def create(self, user: UD) -> UD:
    user_dict = user.dict()
    oauth_accounts = user_dict.pop('oauth_accounts', None)
    model = self.model(**user_dict)
    (await model.save())
    if (oauth_accounts and self.oauth_account_model):
        oauth_account_objects = []
        for oauth_account in oauth_accounts:
            oauth_account_objects.append(self.oauth_account_model(user=model, **oauth_account))
        (await self.oauth_account_model.bulk_create(oauth_account_objects))
    return user
async def create(self, user: UD) -> UD:
    user_dict = user.dict()
    oauth_accounts = user_dict.pop('oauth_accounts', None)
    model = self.model(**user_dict)
    (await model.save())
    if (oauth_accounts and self.oauth_account_model):
        oauth_account_objects = []
        for oauth_account in oauth_accounts:
            oauth_account_objects.append(self.oauth_account_model(user=model, **oauth_account))
        (await self.oauth_account_model.bulk_create(oauth_account_objects))
    return user