他のモデルのモデルページ関連の入力に追加された管理パネルをカスタマイズする必要があります。しかし、私はそれらを保存する方法を把握することはできません。カードのモデルで変更した値を保存する方法Django Admin - カスタムフォームからデータを保存
admin.py
class OrderAdmin(admin.ModelAdmin):
change_form_template = 'admin/testapp/order/change_form.html'
def change_view(self, request, object_id, extra_context=None):
order = Order.objects.get(id=object_id)
card_list = Card.objects.all().filter(type=order.type)
result = super(OrderAdmin, self).change_view(request, object_id, extra_context={
'card_list': card_list,
})
return result
change_form.html
{% for card in card_list %}
<input type="text" name="card-{{ card.id}}" value="{{ card.qty }}"></td>
{% endfor %}
?
私はここで説明するように実行しようとしました:
しかしself.cleaned_dataは、入力から私のデータが含まれていません。
ありがとうございました。
UPD:データをキャッチしましたが、かなり面倒です。 私は入力からIDをどのように計算するのか想像できません。
def save_model(self, request, obj, form, change):
request.POST['card-288']
これはdjangoフォームを使用する理由です。 formsetを生成した場合は、formset(request.POST).save()を呼び出して終了することができます。 –