You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask+SQLAlchemy建表报错:TypeError: column()不识别default参数

解决方法

问题出在拼写错误:你写的是db.column(小写字母c),但Flask-SQLAlchemy中用于定义模型字段的正确方法是db.Column(大写字母C)。

db.column是SQLAlchemy的底层低级函数,它不支持default这类高层参数;而db.Column是Flask-SQLAlchemy封装的、专门用于ORM模型字段定义的接口,才支持default、primary_key等常用参数。

修正后的代码:

from . import db
from flask_login import UserMixin
from sqlalchemy.sql import func

class Note(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    data = db.Column(db.String(10000))
    # 修正为大写C的db.Column
    date = db.Column(db.DateTime(timezone=True), default=func.now())
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(150), unique=True)
    password = db.Column(db.String(150))
    first_name = db.Column(db.String(150))
    notes = db.relationship('Note')

另外,这个问题是拼写错误导致的,和Flask本身的安装状态无关,所以卸载重装Flask无法解决问题。

内容的提问来源于stack exchange,提问作者Rok Kužner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:50:20