Last active
August 29, 2015 14:27
-
-
Save singingwolfboy/3c504ed6b1b8d178420e to your computer and use it in GitHub Desktop.
How do I make SQLAlchemy understand that when I refer to User.hipchat_group, it should do a join through the one-to-one User.hipchat_user relation?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from datetime import datetime | |
from sqlalchemy.orm import backref | |
from hiptweet import db, login_manager | |
class HipChatGroup(db.Model): | |
__tablename__ = "hipchat_group" | |
id = db.Column(db.Integer, primary_key=True) | |
created_at = db.Column(db.DateTime, default=datetime.utcnow) | |
class HipChatUser(db.Model): | |
__tablename__ = "hipchat_user" | |
id = db.Column(db.Integer, primary_key=True) | |
created_at = db.Column(db.DateTime, default=datetime.utcnow) | |
group_id = db.Column(db.Integer, db.ForeignKey(HipChatGroup.id), nullable=False) | |
group = db.relationship(HipChatGroup, backref="users") | |
class User(db.Model): | |
__tablename__ = "user" | |
id = db.Column(db.Integer, primary_key=True) | |
created_at = db.Column(db.DateTime, default=datetime.utcnow) | |
hipchat_user_id = db.Column(db.Integer, db.ForeignKey(HipChatUser.id), nullable=False) | |
hipchat_user = db.relationship(HipChatUser, uselist=False) # one-to-one relationship | |
hipchat_group = db.relationship( | |
HipChatGroup, | |
secondary=HipChatUser, | |
uselist=False, # one-to-one relationship | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment