Python 如何使用SQLAlchemy重新插入一行?
要添加具有给定描述的项,我使用:db.session.addnew\u item。要删除该项,请执行以下操作:db.session.queryItem.filter\u byitem\u id=new\u id.delete。要更新项目的某些部分,请执行以下操作:db.session.queryItem.filter_byitem_id=new_id.update{status:1} 如果要完全编辑项目,即重新插入同一项目的数据,应使用什么 以下是表格的代码:Python 如何使用SQLAlchemy重新插入一行?,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,要添加具有给定描述的项,我使用:db.session.addnew\u item。要删除该项,请执行以下操作:db.session.queryItem.filter\u byitem\u id=new\u id.delete。要更新项目的某些部分,请执行以下操作:db.session.queryItem.filter_byitem_id=new_id.update{status:1} 如果要完全编辑项目,即重新插入同一项目的数据,应使用什么 以下是表格的代码: <form
<form class="form" action="{{ url_for('new_item') }}" method="post" role="form" enctype=multipart/form-data>
{{ form.csrf_token }}
<table>
<tr>
<td>
<div class="form-group">
<label for="item_name">item name:</label>
<input name="name" type="text" class="form-control" id="item_name">
</div>
</td>
<td>
<div class="form-group">
<label for="item_price">item price</label>
<input name="price" type="number" class="form-control" id="item_price">
</div>
</td>
<td>
<div class="form-group">
<label for="photo">Download the photo</label>
<input type="file" name="file">
<p class="help-block">Download</p>
</div>
</td>
</tr>
<tr>
<td>
<div class="form-group">
<label for="item_category">Category:</label>
<select name="category" class="form-control" id="item_category">
<option>LEGO</option>
<option>Игры_и_игрушки</option>
<option>Малыш</option>
<option>Школа_и_канцтовары</option>
<option>Творчество_и_развитие</option>
</select>
</div>
</td>
</tr>
</table>
<div class="form-group">
<label for="item_description">Description of the item:</label>
<textarea name="description" class="form-control" id="item_description" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-default">Save</button>
</form>
您可以为update子句指定更多元素。update{status:1,color:red}或者您可以从数据库中获取对象并根据需要进行更改:
item = db.session.query(Item).get(1) # grab the item with PK #1.
item.status = '1'
item.colour = 'red'
db.session.commit() # commit your changes to the database.
您可以为update子句指定更多元素。update{status:1,color:red}或者您可以从数据库中获取对象并根据需要进行更改:
item = db.session.query(Item).get(1) # grab the item with PK #1.
item.status = '1'
item.colour = 'red'
db.session.commit() # commit your changes to the database.
这是可以理解的,但是如果我想完全重新插入数据呢?或者在物品描述的句子中的某处放一个分号。我不想通过flask app.py手动执行此操作,而是希望通过管理面板执行此操作。这就是问题所在!!!安纳托利-你提到的管理小组是什么?这是你建造的东西吗?你的问题真的是关于如何处理表单数据吗?不幸的是,我不擅长编程和术语,这不好,因为我问了qestion没有提供足够的细节:是的,有一个管理员面板,允许管理员编写、更新和删除帖子。然而,正如我所描述的,我的更新函数只改变了一个变量,而且完全改变了,但是我想手动改变,不仅仅是一个变量,而是整个帖子。完全编辑它。如果问题不是很清楚,很抱歉。如果您的问题是代码的表单处理部分,则应用相同的更新过程,您将获取数据库中的现有对象,然后使用提交表单中某个字段的数据更新每个属性。如果您使用的是flask wtf之类的工具,它有一种方法可以为您自动填充模型,但是由于您刚刚开始,所以最好从更详细的方式开始。您需要包括表单处理代码,以及表单,以便我们看到发生了什么。当然!我马上就来!这是可以理解的,但是如果我想完全重新插入数据呢?或者在物品描述的句子中的某处放一个分号。我不想通过flask app.py手动执行此操作,而是希望通过管理面板执行此操作。这就是问题所在!!!安纳托利-你提到的管理小组是什么?这是你建造的东西吗?你的问题真的是关于如何处理表单数据吗?不幸的是,我不擅长编程和术语,这不好,因为我问了qestion没有提供足够的细节:是的,有一个管理员面板,允许管理员编写、更新和删除帖子。然而,正如我所描述的,我的更新函数只改变了一个变量,而且完全改变了,但是我想手动改变,不仅仅是一个变量,而是整个帖子。完全编辑它。如果问题不是很清楚,很抱歉。如果您的问题是代码的表单处理部分,则应用相同的更新过程,您将获取数据库中的现有对象,然后使用提交表单中某个字段的数据更新每个属性。如果您使用的是flask wtf之类的工具,它有一种方法可以为您自动填充模型,但是由于您刚刚开始,所以最好从更详细的方式开始。您需要包括表单处理代码,以及表单,以便我们看到发生了什么。当然!我马上就来!我想你的问题是,我如何用项目数据预填充显示给用户的表单,以便用户可以进行更改和更新对象,对吗?我猜是对的,Dooben!因此,当管理员插入并发布一个对象时,他应该能够完全修改它。不仅要更新状态或完全删除对象,还要修改te描述、图片附件等。我想你的问题是,如何使用项目数据预填充显示给用户的表单,以便用户可以进行更改和更新对象?对吗?我猜是对的,Dooben!因此,当管理员插入并发布一个对象时,他应该能够完全修改它。不仅更新状态或完全删除对象,还可以修改te说明、图片附件等。