如何在SQLAlchemy模型中查询

时间:2016-04-02 09:40:27

标签: python flask flask-sqlalchemy

我正在为我的应用程序使用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"}

感谢您的帮助

2 个答案:

答案 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)