我在名为托运人的表中有以下数据。
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