TypeError: __init__() missing 1 required positional argument: 'Status'
I am getting this error TypeError: init() missing 1 required positional argument: 'Status' `from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy from flask_marshmallow import Marshmallow import os
app = Flask(name) basedir = os.path.abspath(os.path.dirname(file)) data = {'message':'This is the get data'}
#database app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///'+os.path.join(basedir , 'db.sqlite') app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#init db db = SQLAlchemy(app)
#init ma ma = Marshmallow(app)
#class/model
class Product(db.Model): id = db.Column(db.Integer , primary_key = True) Deviceid = db.Column(db.String(100) , unique = True) Error = db.Column(db.String(300)) Status = db.Column(db.String(100))
def __init__(self , id, Deviceid , Error, Status):
self.id = id
self.Deviceid = Deviceid
self.Error = Error
self.Status = Status
#product schema class ProductSchema(ma.Schema): class Meta: fields = ('id', 'Deviceid', 'Error', 'Status')
#init ProductSchema product_schema = ProductSchema() products_schema = ProductSchema(many=True)
#create a product @app.route("/Devicelog" , methods=['POST']) def add_log(): Deviceid = request.json['Deviceid'] Error = request.json['Error'] Status = request.json['Status']
new_product = Product(Deviceid, Error, Status)
db.session.add(new_product)
db.session.commit()
return product_schema.jsonify(new_product)
@app.route("/", methods = ['GET']) def home(): return jsonify(data)
if name == 'main': app.run(debug = True,port = 5050) `