简体   繁体   中英

I am trying to do here is to call a class's constructor. But it is giving me an error. It is saying: missing1 requiered positional argument

class Sensor(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    temperature = db.Column(db.Float())
    date = db.Column(db.DateTime)

    def __init__(self, temperature, date=None):
        self.temperature = temperature
        if date is None:
            date = datetime.utcnow()
        self.date = date

class SensorSchema(ma.ModelSchema):
    class Meta:
        model = Sensor

`from flask_restful import Resource from flask import request, jsonify from app import app, api, db, auth, users from sensor import Sensor, SensorSchema

schema = SensorSchema()

@auth.get_password def get_pw(username): if username in users: return users.get(username) return None

class Index(Resource): decorators = [auth.login_required]

def get(self):
    return "Hello, %s!" % auth.username()

class TemperatureList(Resource): decorators = [auth.login_required]

def get(self):
    allTemperatures = Sensor.query.all()
    result = schema.dump(allTemperatures, many=True).data
    return result

def post(self):
    args = request.get_json()
    sensor_read = Sensor(args["temperature"])
    sensor_read1 = Sensor(args["login"])
    db.session.add(sensor_read, sensor read1)
    return "Temperature added", 200

class Temperature(Resource): decorators = [auth.login_required]

def get(self, id):
    temperature = Sensor.query.get(id)
    result = schema.dump(temperature).data
    return result

api.add_resource(Index, "/api/v1.0", endpoint="index") api.add_resource(TemperatureList, "/api/v1.0/temperature", endpoint="temperatures") api.add_resource( Temperature, "/api/v1.0/temperature/", endpoint="temperature" )

if name == " main ": app.run(host="0.0.0.0", debug=True) `

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM