psycopg2.DataError: неверный синтаксис ввода для целого числа: "" WHERE toys.toy_id = '' - PullRequest
0 голосов
/ 04 ноября 2019

Я создаю приложение Flask, и у меня есть две таблицы в моем models.py. Я пытаюсь соединить их с внешним ключом, но получаю следующее сообщение об ошибке:

psycopg2.DataError: invalid input syntax for integer: "" WHERE toys.toy_id = ' '

Я думал, что я просто следовал документации, но, видимо, нет.

Вот мой файл models.py:

class User(UserMixin, db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    ...
    toys = db.relationship('Toy', backref='user', lazy='dynamic')

    def __init__(self, toys=''):
        self.toys = toys

class Toy(UserMixin, db.Model):
    __tablename__ = 'toys'
    id = db.Column(db.Integer, primary_key=True)
    ...
    toy_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    def __init__(self, toy_id=''):
        self.toy_id = toy_id

Вот мой файл server.py:

@app.route("/api/toy", methods=["GET", "POST"])
def toy():
    incoming = request.get_json()
    toy = Toy.query.filter_by(toy_id=incoming["toy_id"]).first()

Последняя строка - это строка, генерирующая ошибку. Я что-то здесь упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...