@W1zzyy
Fullstack developer python/js/ts/bootstrap/less

Tortoise orm создается объект в бд, из-за не правильного foreign key, как исправить?

Использую tortoise в первый раз, создал 2 модели:
#class - model for user
class Ds_user(models.Model):
    id = fields.IntField()
    uuid = fields.UUIDField(pk=True)
    username = fields.CharField(32)
    email = fields.CharField(150)
    avatar = fields.CharField(32)
    ds_tag = fields.CharField(37)
    locale = fields.CharField(4)
    refresh_token = fields.CharField(32)

и
#class - model for guild
class Guild(models.Model):
    guild_id = fields.IntField(pk=True)
    guild_name = fields.CharField(200)
    guild_icon = fields.CharField(32)
    refresh_token = fields.CharField(32)
    ds_user = fields.ForeignKeyField('models.Ds_user', on_delete=fields.CASCADE)

Дальше мне нужно создать объект guild, пробовал через метод create() -
await Guild.create(
    guild_id=guild_json['id'],
    guild_name=guild_json['name'],
    guild_icon=guild_json['icon'],
    refresh_token=res_json['refresh_token'],
    ds_user=await Ds_user.get(uuid=request.User.uuid)
)

В итоге получаю такой трейсбэк
raise ConfigurationError(
tortoise.exceptions.ConfigurationError: default_connection for the model <class 'db.models.guild.Guild'> cannot be None


Так же подумал что возможно нужно передавать не экземпляр класса Ds_user, а его pk, но то же не сработало(

Документация tortoise orm - docs
  • Вопрос задан
  • 667 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ну вообще-то тебе прямо говорят про default_connection.
Ты await Tortoise.init() делал?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы