POSTデータを取得し、チェックボックスがチェックされていることを確認し、idでマッチしたデータベースからアイテムを削除するビューを作成するのに役立つ必要があります。 元々、これはチェックボックスの問題でした。編集オーダーフォームには、アイテムのリストがあります。今私は、JavaScriptのビットを使用してアイテムを削除することができますが、それは私のデータベースから完全に削除する必要があるため、保存されません。私はdelete()を使ってアイテムを削除するために私の編集オーダービューを使ってみましたが、doeは動作しません。私は間違っている何か他のものがなければならないが、何がわからない。Django:チェックボックスを使ってアイテムを削除するビューを作成する
name="item"
でチェックボックスを使用して、テンプレートを考えると
delete_item = request.POST.get('delete_item', None)
if request.method == 'POST':
form = forms.OrderForm(request.POST, instance = order)
if form.is_valid() and save_item is not None:
form.save(True)
request.user.message_set.create(message = "The order has been updated successfully.")
return HttpResponse("<script language=\"javascript\" type=\"text/javascript\">window.opener.location = window.opener.location; window.close();</script>")
if status is not None and contact is not None and save_status is not None and delete_item is not None:
try:
for id in status_items:
item = models.StorageItem.objects.get(pk = id)
delete = item
delete.delete()
current_status = models.ItemStatusHistory(item = item, contact = contact, status = status,
user = request.user)
current_status.save()
except:
pass
request.user.message_set.create(message = "Status successfully changed for {0} items".format(len(status_items)))
{% for item in items %}
<tr class="items_table_row">
<td><input type="checkbox" name="item" value="{{item.pk}}" checked="checked"{% endif %}>
<td>{{item.tiptop_id}}</td><td>{{item.alternative_id}}</td><td>{{item.title}}</td><td>{{item.type}}</td><td>{{item.format}}</td>
<td><span id="{{item.pk}}" name="type">{{item.itemstatushistory_set.latest}}</span></td><td>{{item.itemstatushistory_set.latest.date.date|date:"d M Y"}}</td>
<td><a href="{% url tiptop.views.edit_item item.client.pk item.pk %}" onclick="return showAddAnotherPopup(this);">Edit</a></td>
</tr>
{% endfor %}
コードインデントを修正してください。 – Ski
@skirmantas fixed – Shehzad009