[英]Exclude deleted objects from Django inline formset
出於特定原因,我需要為Django嵌入式表單集設置for循環條件。 但是我想從該循環中排除已刪除的對象。
def my_fun(request, pk):
instance = get_object_or_404(Sale.objects.filter(pk=pk, is_deleted=False))
SaleItemFormset = inlineformset_factory(
Sale,
SaleItem,
can_delete=True,
extra=extra,
exclude=('creator', 'updator', 'auto_id', 'is_deleted'),
widgets = {
'product': autocomplete.ModelSelect2(url='products:product_autocomplete', attrs={'data-placeholder': 'Product', 'data-minimum-input-length': 1}),
'qty': TextInput(attrs={'class': 'required form-control number', 'placeholder': 'Quantity'}),
'cost': TextInput(attrs={'class': 'required form-control number', 'placeholder': 'Cost'}),
'price': TextInput(attrs={'class': 'required form-control number', 'placeholder': 'Price'}),
'tax': TextInput(attrs={'class': 'required form-control number', 'placeholder': 'Tax'}),
'discount': TextInput(attrs={'class': 'required form-control number', 'placeholder': 'Discount'}),
'subtotal': TextInput(attrs={'class': 'required form-control number', 'placeholder': 'Sub Total'}),
}
)
sale_item_formset = SaleItemFormset(request.POST, prefix='sale_item_formset', instance=instance)
if sale_item_formset.is_valid():
for form in sale_item_formset:
# I don't want deleted formset objects
# how can I exclude from this loop?
Formset
具有deleted_forms
您可以使用它來排除它們。
if sale_item_formset.is_valid():
deleted_forms = sale_item_formset.deleted_forms
for form in sale_item_formset:
if form not in deleted_forms:
#do some staff
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.