@newPsevdonim
Python разработчик

Почему pony обращается не к той таблице в базе данных?

Запрос pony обращается не к той таблице в базе данных, почему это может происходить?
Вот собственно код запроса:

with db_session:
        db.generate_mapping(create_tables=False)
        print(select(g for g in Games)[:10])


Вот модель:
class Games(db.Entity):
    index = Optional(int)
    urls = Optional(str)
    game_name = PrimaryKey(str)
    categories = Optional(str)
    developers = Optional(str)
    description = Optional(LongStr)
    year = Optional(str)
    all_categories_recommendations = Optional('All_categories_recommendations')


class All_categories_recommendations(db.Entity):
    index = Optional(int)
    game_name = PrimaryKey(str)
    game_categories = Optional(str)
    game_recommendation = Optional(LongStr)
    game_unty_recommendation = Optional(LongStr)
    games = Optional(Games)


А вот sql запрос который я получаю с включенными sql дебагером:
SELECT "all_categories_recommendations"."index", "all_categories_recommendations"."game_name", "all_categories_recommendations"."game_categories", "all_categories_recommendations"."game_recommendation", "all_categories_recommendations"."game_unty_recommendation", "all_categories_recommendations"."games"
FROM "all_categories_recommendations" "all_categories_recommendations"
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
gnifajio
@gnifajio
Совершенствуюсь каждый день
Судя по вашему коду и SQL-запросу, ваш запрос возвращает записи только из таблицы "all_categories_recommendations", а не из таблицы "Games". Это может быть связано с тем, что вы не определили связь между таблицами "Games" и "All_categories_recommendations" в вашей модели.

Если вы хотите выполнить запрос, который возвращает записи из таблицы "Games", вам нужно изменить ваш запрос на что-то вроде:

with db_session:
    db.generate_mapping(create_tables=False)
    print(select(g for g in Games)[:10])

Если вы все еще получаете данные только из таблицы "all_categories_recommendations", пожалуйста, убедитесь, что в вашей базе данных существует таблица "Games" и что в вашей модели определена правильная схема и связь между таблицами "Games" и "All_categories_recommendations".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы