flask_sqlalchemy_rest icon indicating copy to clipboard operation
flask_sqlalchemy_rest copied to clipboard

TypeError: __init__() missing 1 required positional argument: 'Status'

Open hkarthik97 opened this issue 6 years ago • 0 comments

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) `

hkarthik97 avatar Jan 12 '20 03:01 hkarthik97