Flask SQLAlchemy&SQLite:绑定参数错误

2024-05-29 03:11:40 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试添加新事件时出错:

InterfaceError: (sqlite3.InterfaceError) Error binding parameter 7 - probably unsupported type. [SQL: u'INSERT INTO events (name, city, location, description, sport, starting, ending, price, creator_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (u'My Event', u'Milan', u'Some Description', u'123 My Location', u'Football/Soccer', '2018-01-01 10:10:00.000000', '2018-01-01 17:00:00.000000', Decimal('0.00'), 1)]

我的活动模型:

^{pr2}$

我的添加事件窗体:

class EventForm(FlaskForm):

    name = StringField(validators=[DataRequired()])
    description = TextAreaField()
    city = SelectField(choices=CITIES, validators=[DataRequired()])
    location = StringField(validators=[DataRequired()])
    sport = SelectField(choices=SPORTS, validators=[DataRequired()])
    start_date = DateField(validators=[DataRequired()])
    start_time = TimeField(validators=[DataRequired()])
    end_date = DateField(validators=[DataRequired()])
    end_time = TimeField(validators=[DataRequired()])
    price = DecimalField('Price (Euros)', default=0)
    submit = SubmitField()

我的添加事件视图:

def add_event():

form = EventForm()

if form.validate_on_submit():
    starting = datetime.datetime.combine(form.start_date.data,
                                         form.start_time.data)
    ending = datetime.datetime.combine(form.end_date.data,
                                       form.end_time.data)

    event = Event(name=form.name.data,
                  sport=form.sport.data,
                  description=form.description.data,
                  starting=starting,
                  ending=ending,
                  location=form.location.data,
                  city=form.city.data,
                  price=form.price.data,
                  creator_id=current_user.id,
                  creator=current_user)

    # add event to the database
    db.session.add(event)
    db.session.commit()
    flash('You have successfully added a new event.')

    # redirect to event page
    return redirect(url_for('events.list_events'))

我不知道为什么我会得到错误,因为“ending”参数是一个日期时间值。我错过了什么?在


Tags: nameformeventcitydatadateendinglocation

热门问题