私は、受信したアイテムの数量をユーザーが更新できるようにする在庫システムのページを構築しようとしています。フォームセットに最初のデータとしてQuerySetを渡そうとしています
すべての製品のテーブルを表示して、受け取った数量を入力させて、それを投稿して繰り返し、データベースを更新します。ここで
が私の見解です:
def new_shipment(request):
list_of_active_products = Product.objects.filter(status=1)
ShipmentFormSet = formset_factory(ShipmentForm, extra=0)
formset = ShipmentFormSet(initial=list_of_active_products)
return render_to_response('inventory/new_shipment.html', {'formset': formset})
はここにフォームのための私のモデルです:
class ShipmentForm(forms.Form):
sku = forms.IntegerField()
product_name = forms.CharField(max_length=100)
quantity = forms.IntegerField()
そしてここでは、フォームテンプレートです:
<form method="post" action="">
<table>
{% for form in formset %}
{{ form }}
{% endfor %}
</table>
<input type="submit" />
</form>
そして、ここではエラーIです取得:
アトリビュートがレンダリング中にキャッチされました: 'Product'オブジェクトに 'get'属性がありません
誰もが私を助けることができますか?
あなたはむしろクエリセットよりも、初期データとして辞書のリストを渡すために持っているように見えるのドキュメントから
OPはformset_factoryを使用し、querysetはmodelformset_factoryでのみ使用できます。少なくとも、いくつかのDjangoバージョンでは、あなたのコードは動作しません –