Отсутствует 1 обязательный позиционный аргумент: «инструкции»Python

Программы на Python
Anonymous
Отсутствует 1 обязательный позиционный аргумент: «инструкции»

Сообщение Anonymous »

При POST появляется ошибка «TypeError: __init__() отсутствует 1 обязательный позиционный аргумент: 'instructions'», но она явно присутствует. конец трассировки
File "C:\Users\Chris\Desktop\MaintTracker\Backend\app.py", line 179, in add_task
new_task = Task(job, instructions)
^^^^^^^^^^^^^^^^^^^^^^^

class Task(db.Model):
id = db.Column(db.Integer, primary_key=True)
job = db.Column(db.String, unique=False)
instructions = db.Column(db.String, unique=False)

def __init__(self,id, job, instructions):
self.id = id
self.job = job
self.instructions = instructions

class TaskSchema(ma.Schema):
class Meta:
fields = ('id','job', 'instructions' )

task_schema = TaskSchema()
tasks_schema = TaskSchema(many=True)

@app.route("/Task", methods=["GET"])
def get_tasks():
all_task = Task.query.all()
result = tasks_schema.dump(all_task)
return jsonify(result)

@app.route("/Task/", methods=["GET"])
def get_task(id):
task = Task.query.get(id)
return task_schema.jsonify(task)

@app.route('/Task', methods=['POST'])
def add_task():

job = request.json['job']
instructions = request.json['instructions']

new_task = Task(job, instructions)

db.session.add(new_task)
db.session.commit()

task = Task.query.get(new_task.id)

return task_schema.jsonify(task)

@app.route("/Task/", methods=["PUT"])
def task_update(id):
task = Task.query.get(id)
id = request.json['id']
job = request.json['job']
instructions = request.json['instructions']

Task.id = id
Task.job = job
Task.instructions = instructions

db.session.commit()
return task_schema.jsonify(task)

@app.route("/Task/", methods=["DELETE"])
def task_delete(id):
task = Task.query.get(id)
db.session.delete(task)
db.session.commit()

return "Task was successfully deleted"

Чтобы получить это, я попытался удалить идентификатор из add_task. с ним это просто дает мне
Traceback (most recent call last):
File "C:\Users\Chris\.virtualenvs\Backend-NKSSbLU1\Lib\site-packages\flask\app.py", line 1498, in __call__
return self.wsgi_app(environ, start_response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chris\.virtualenvs\Backend-NKSSbLU1\Lib\site-packages\flask\app.py", line 1476, in wsgi_app
response = self.handle_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chris\.virtualenvs\Backend-NKSSbLU1\Lib\site-packages\flask\app.py", line 1473, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chris\.virtualenvs\Backend-NKSSbLU1\Lib\site-packages\flask\app.py", line 882, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chris\.virtualenvs\Backend-NKSSbLU1\Lib\site-packages\flask\app.py", line 880, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chris\.virtualenvs\Backend-NKSSbLU1\Lib\site-packages\flask\app.py", line 865, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chris\Desktop\MaintTracker\Backend\app.py", line 175, in add_task
id = request.json['id']
^^^^^^^^^^^^^^^^^^
KeyError: 'id'


Подробнее здесь: https://stackoverflow.com/questions/786 ... structions

Вернуться в «Python»