老师您好。在9-9课里创建user表失败,不知所云。

来源:9-9 ORM的方式保存模型

暮池水中的大青虾

2020-02-11

对着源码找了半天没找到异常,翻了问答区也没找到同样的错误类型。

错误提示:TypeError: Additional arguments should be named _, got ‘dafault’
图片描述

以下是app.models.user.py里面的代码:

from sqlalchemy import Column, Integer, String, Boolean, Float
from werkzeug.security import generate_password_hash

from app.models.base import db, Base

class User(Base): # 默认情况下数据库会用类名User作为表名
# tablename = ‘user1’ 这样可以改表名
id = Column(Integer, primary_key=True)
nickname = Column(String(24), nullable=False)
phone_number = Column(String(18), unique=True)
_password = Column(‘password’, String(128)) # password’是数据库表的最终字段名字。
email = Column(String(50), unique=True, nullable=False)
confirmed = Column(Boolean, default=False) # 确认
beans = Column(Float, default=0)
send_counter = Column(Integer, dafault=0) # 送出
receive_counter = Column(Integer, default=0) # 受理
wx_open_id = Column(String(50))
wx_name = Column(String(32))

@property  
def password(self):
    return self._password

@password.setter  
def password(self, raw):  
    self._password = generate_password_hash(raw)  

问答区里的错误都找了一遍,没有写错代码。另外我用的数据库可视化工具是SQLyog,之前的book
表是可以正常创建的。

写回答

2回答

7七月

2020-02-14

这个提示好明显,default写错了

1
2
暮池水中的大青虾
谢谢老师,通过debug一步一步的看,send_counter = Column(Integer, dafault=0) # 送出,里面的dafault拼错了。
2020-02-14
共2条回复

暮池水中的大青虾

提问者

2020-02-11

检查了配置文件和app的__init__文件都没有错误,user类也正常继承了base类,还是没有解决问题。

0
0

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程