Flask SQL Alchemy查询未返回列值,Python

时间:2018-07-16 13:24:00

标签: python flask sqlalchemy getmethod

我在名为托运人的表中有以下数据。

id  companyname        phone
1   Company A          3105590430

我正在尝试使用SQLAlchemy提取两列中的数据。我可以提取标记为公司名称的列中的数据,但不能提取标记为电话的列中的数据。

这是我正在使用的代码。

class ShippersModel(db.Model):

    __tablename__ = 'shippers'

    id=db.Column(db.Integer, primary_key=True)
    companyname = db.Column(db.String(40))
    phone = db.Column(db.String(24))

    def __init__(self, companyname, phone):
        self.companyname = companyname
        self.phone = phone


    def find_by_name(cls,companyname):
        column = cls.query.filter_by(companyname=companyname).first()
        print(column.companyname)
        print(column.phone)

find_by_name方法返回column.companyname的预期值。但是,column.phone返回值None。对返回值None的原因有何想法?

我正在使用Postman和GET方法来测试代码。首先从GET方法调用find_by_name方法,如下所示。

from flask_restful import Resource, reqparse
from models.shippers import ShippersModel

class Shippers(Resource):
    parser = reqparse.RequestParser()  
    parser.add_argument('phone',
                        type=str,
                        required=True,
                        help="This field cannot be left blank"
                        )

    def get(self,companyname):
        shipper = ShippersModel.find_by_name(companyname)
        print(shipper)
        if shipper:
            #return {'message': 'Shipper found'}
            return shipper.json
        return{'message': 'Shipper not found'},404

0 个答案:

没有答案