您好,这是我目前收到的错误
> [2020-12-02 18:49:37,772] ERROR in app: Exception on /new-mealplan
> [POST] Traceback (most recent call last): File
> "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask\app.py",
> line 2447, in wsgi_app
> response = self.full_dispatch_request() File "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask\app.py",
> line 1952, in full_dispatch_request
> rv = self.handle_user_exception(e) File "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask_cors\extension.py",
> line 165, in wrapped_function
> return cors_after_request(app.make_response(f(*args, **kwargs))) File
> "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask\app.py",
> line 1821, in handle_user_exception
> reraise(exc_type, exc_value, tb) File "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask\_compat.py",
> line 39, in reraise
> raise value File "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask\app.py",
> line 1950, in full_dispatch_request
> rv = self.dispatch_request() File "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\flask\app.py",
> line 1936, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args) File "C:\Users\ryand\Desktop\mealplansfree\main-api\api.py", line 125, in
> create_mealplan
> recipe_id_to_output = str(current_recipe['id']) File "c:\users\ryand\.virtualenvs\main-api-ucgvpon1\lib\site-packages\sqlalchemy\orm\query.py",
> line 3208, in __getitem__
> return list(self[item : item + 1])[0] TypeError: can only concatenate str (not "int") to str
> 127.0.0.1 - - [02/Dec/2020 18:49:37] "POST /new-mealplan HTTP/1.1" 500 -
在我的代码中,我在当前配方['id]周围添加了str(),因为环顾四周后,我读到了可以解决问题的内容。事实并非如此
这是我的密码:
@app.route('/new-mealplan', methods=['POST'])
def create_mealplan():
data = request.get_json()
recipes = data['mealplan_recipes']
recipe_ids = []
for recipe in recipes:
current_recipe = Recipes.query.filter(func.lower(Recipes.recipe_name) == func.lower(recipe))
if current_recipe:
recipe_id_to_output = str(current_recipe['id']) # THIS IS THE LINE THE ERROR IS POINTS TOO
recipe_ids.append(recipe_id_to_output)
return jsonify({ 'Mealplan' : recipe_ids })
我所要做的就是使用我在POST请求中提交的配方名称,然后获取我提交的每个名称,并将配方的配方ID附加到配方ID中
这个怎么样:
recipe_id_to_output = "{}".format(current_recipe['id'])
恰恰相反,您应该在其周围添加
int(...)
它试图将
1
添加到item
中,但实际上它不能是字符串编辑:不是这个,而是对库的错误使用。在查询之后忘记了
.first()
以实际检索结果相关问题 更多 >
编程相关推荐