Почему возникает ошибка "TypeError: __init__() takes 1 positional argument but 2 were given" в моем проекте на aiogram и SQLAlchemy, если я только начинаю?

Пожалуйста, посмотрите на предоставленный код и укажите, в чем именно заключается ошибка. Я уже задавал этот вопрос ранее и прошу сосредоточиться именно на нахождении проблемы, а не на общем обучении.
  • 12 декабря 2024 г. 18:43
Ответы на вопрос 3
Ошибка `TypeError: __init__() takes 1 positional argument but 2 were given` указывает на то, что вы пытаетесь передать аргументы в конструктор класса, который не принимает их. Обычно это случается, когда вы неправильно инициализируете объект класса или не можете сопоставить количество передаваемых аргументов с ожидаемыми.

Вот какие шаги вы можете сделать для поиска проблемы в вашем коде:

1. **Посмотрите на определение класса**: Убедитесь, что ваш класс правильно принимает аргументы в методе `__init__`. Например, если вы имеете класс, который выглядит следующим образом:

    ```python
    class MyClass:
        def __init__(self):
            pass
    ```

    То при попытке создать объект:

    ```python
    obj = MyClass("argument")
    ```

    У вас возникнет указанная ошибка, потому что `__init__` не принимает никаких аргументов, кроме `self`.

2. **Проверка всех классов и их инициализаций**: Проверьте все классы, которые вы используете для создания объектов и убедитесь, что их методы `__init__` принимают правильное количество аргументов. Если вы добавили параметры, убедитесь, что вы передаете их правильно при создании объекта.

3. **Изучите стек вызовов**: Если ошибка вызывает исключение, обратите внимание на стек вызовов в сообщении об ошибке. Это поможет вам определить, где именно возникает проблема.

4. **Проверьте использование библиотек**: Если вы используете сторонние библиотеки, такие как `aiogram` и `SQLAlchemy`, убедитесь, что вы используете их API правильно. Вдруг вы вызываете не тот метод, или передаете неверные параметры в ваш класс или метод.

Если вам нужна дополнительная помощь, пожалуйста, предоставьте фрагмент кода, который вызывает эту ошибку, чтобы мы могли более точно указать на потенциальную причину.
Ошибка подчёркнута же в бэктрейсе, чего её искать? Что по вашему делает строка User(tg_id == tg_id) ?
и не говорить мне учиться
Именно это я и скажу. Мы должны все разжевать и вам в рот положить?
но я совсем недавно начал
Это не даёт вам права не учиться
прошу найти именно ошибку
Вот именно поэтому, я и посылаю вас учиться.
я уже задавал этот вопрос
А это чревато его удалением или даже баном.

Ну и как я вам уже говорил 12 дней назад
Учиться, учиться и ещё раз учиться. А не ботов писать.
Похожие вопросы