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

2024-06-01 06:40:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个名为shippers的表中有以下数据。你知道吗

id  companyname        phone
1   Company A          3105590430

我正在尝试使用SQLAlchemy提取两列中的数据。我可以提取列标记为companyname的数据,但不能提取列标记为phone的数据。你知道吗

这是我正在使用的代码。你知道吗

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 \u by \u name返回列。公司名称. 然而列。电话返回值None。你有没有想过价值不被归还的原因?你知道吗

我正在使用Postman和GET方法来测试代码。find \u by \u name方法首先从GET方法调用,如下所示。你知道吗

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

Tags: 数据方法nameselfdbbydefphone