我正在使用Flask和SQLAlchemy构建一个应用程序.我基本上有3个表:用户,友谊和bestFriends:
用户可以拥有许多朋友,但只有一个最好的朋友.所以我希望我的模型是关系型的."一对多"用于"用户"和"友谊"之间的关系以及"用户"和"最佳朋友"之间的"一对一"关系.
这是我的模特:
from app import db
from sqlalchemy.orm import relationship, backref
from sqlalchemy import Table, Column, Integer, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
class users(db.Model):
__tablename__ = "Users"
id = db.Column(db.Integer, primary_key=True)
userName = db.Column(db.String, nullable=False)
userEmail = db.Column(db.String, nullable=False)
userPhone = db.Column(db.String, nullable=False)
userPass = db.Column(db.String, nullable=False)
friendsR = db.relationship('friendships', backref='friendships.friend_id', primaryjoin='users.id==friendships.user_id', lazy='joined')
def __init__(self, userName, userEmail, userPhone, userPass):
self.userName = userName
self.userEmail = userEmail
self.userPhone = userPhone
self.userPass = userPass
def __repr__(self):
return '{}-{}-{}-{}'.format(self.id, self.userName, self.userEmail, self.userPhone)
class …Run Code Online (Sandbox Code Playgroud)