2014-05-23 45 views
0

我有兩個班,但他們似乎無法相互連接。我得到的錯誤是:似乎無法有從另一個表變量 - SQLAlchemy的

OperationalError: (OperationalError) no such column: user_points.user_id 

任何想法爲什麼這樣?

class User(db.Model): 
    __tablename__ = "user" 
    id = db.Column('user_id',db.Integer , primary_key=True) 
    username = db.Column(db.String(20), unique=True , index=True) 
    password = db.Column(db.String(20)) 
    firstname = db.Column(db.String(20)) 
    surname = db.Column(db.String(20)) 
    email = db.Column(db.String(100)) 
    dt_joined = db.Column(db.DateTime, default=db.func.now()) 
    points_rel = db.relationship('User_points',backref='pointers',lazy='dynamic') 

# User Points table 
class User_points(db.Model): 
    __tablename__ = "user_points" 
    id = db.Column('user_points_id',db.Integer, primary_key = True) 
    user_id = db.Column('user_id',db.Integer, db.ForeignKey('user.user_id')) 
    fixture_id = db.Column('fixture_id',db.Integer, db.ForeignKey('fixture.fixture_id')) 
    fixture_prediction_id = db.Column('fixture_prediction_id',db.Integer, \ 
          db.ForeignKey('fixture_prediction.fixture_id'))  
    points = db.Column('points',db.Integer) 

任何想法的人?這是做我的頭:(

+0

人有什麼想法? :( – Lorbat

回答

0

我所做的只是放棄表並重新創建它。看起來元數據存在一些問題,當我做.keys()時列存在,儘管當我在select語句中專門命名它時,它找不到它。我不能解釋爲什麼,但放棄了桌子並重新創建了它。

0

User類嘗試定義,而不是使用表名在類名像

points_rel = db.relationship('user_points',backref='user',lazy='dynamic') 

。希望將解決您的問題。

OR

查看此編碼

class User(db.Model): 
    __tablename__ = "user" 
    id = db.Column(db.Integer , primary_key=True) 
    username = db.Column(db.String(20), unique=True , index=True) 
    password = db.Column(db.String(20)) 
    firstname = db.Column(db.String(20)) 
    surname = db.Column(db.String(20)) 
    email = db.Column(db.String(100)) 
    dt_joined = db.Column(db.DateTime, default=db.func.now()) 
    points_rel = db.relationship('User_points', backref='user', lazy='dynamic') 

# User Points table 
class User_points(db.Model): 
    __tablename__ = "user_points" 
    id = db.Column(db.Integer, primary_key = True) 
    user_id = db.Column(db.Integer, db.ForeignKey('user.id')) 
    fixture_id = db.Column(db.Integer, db.ForeignKey('fixture.fixture_id')) 
    fixture_prediction_id = db.Column(db.Integer, \ 
          db.ForeignKey('fixture_prediction.fixture_id'))  
    points = db.Column(db.Integer) 
+0

我得到這個錯誤,當我使用表名:ArgumentError:類對象的預期,得到'表 – Lorbat

+0

可以檢查出我的我更新的答案? –

+0

沒有運氣仍然這個錯誤:OperationalError:(OperationalError)no such column:user_points。 user_id – Lorbat