我正在为我的应用程序使用Flask和SQLAlchemy,我有这种模型
class Project(db.Model):
__tablename__ = 'Projects'
idProject = db.Column(db.BigInteger, primary_key=True, server_default=text("nextval('seqproject'::regclass)"))
idCompany = db.Column(db.ForeignKey('Company.idCompany'), nullable=False, index=True)
Company = db.relationship('Company')
与公司相同的模型只有ID和名称......
我想要做的是获取公司名称而不是idCompany(或两者),所以我想做类似的事情
CompanyName = Company.name
但它不起作用..但是工作是什么
user = User.query.filter(User.mail.ilike('jeneva.garry0@mts.net')).first()
projects = user.projects
return status(projects[0].Company.name)
状态返回{"status": "nameOfTheCompany"}
感谢您的帮助
答案 0 :(得分:1)
在模型中,您可以指定公司和项目之间的关系不会表现为列表
company = db.relationship('Company',uselist=False,foreign_keys='Project.idCompany')
然后你可以做
proyect = Proyect.query.first()
proyect.company.name
答案 1 :(得分:0)
所以我解决了这个问题
在模型项目中我刚刚做了这个:)愚蠢的我。
def toJson(self):
return jsonify(number=self.number,
message=self.message,
name=self.name,
comment=self.comment,
CompanyName=self.company.name)