Здесь я пытаюсь сохранить выбранные поля во множестве полей.
Когда я пытаюсь сохранить выбранные поля, все поля, кроме выбранных, также сохраняются. Как я могу сохранить только выбранные поля.
вот моя модель ..
#model
class Products(models.Model):
name = models.CharField(max_length=128)
product_code = models.CharField(max_length=128)
cmp_id = models.ManyToManyField(Components, blank=True)
bay_id = models.ManyToManyField(ScanningBay, blank=True)
def __str__(self):
return self.name
# форма
class ProductForm(forms.ModelForm):
name = forms.CharField(max_length=15,widget=forms.TextInput(attrs={'class':'form-control','placeholder': 'Product Name','size': '40'}))
product_code = forms.CharField(max_length=15, widget=forms.TextInput(
attrs={'class': 'form-control', 'placeholder': 'Product Code', 'size': '40'}))
bay = forms.ModelMultipleChoiceField(queryset=ScanningBay.objects.all())
component = forms.ModelMultipleChoiceField(queryset=Components.objects.all())
class Meta:
model = Products
fields = ('name', 'product_code','bay','component')"
# вид
def products(request):
if request.method == 'POST':
p_form = ProductForm(request.POST or None)
new = p_form.save(commit=False)
new.save()
z = p_form.save_m2m()
print (z)
return HttpResponse("success")
else:
pdct_form = ProductForm()
return render(request, 'app/products.html', {'pdct':pdct_form})
это шаблон, представленный
<form id="test" class="impexform" action="{%url 'products'%}" method="POST">
{% csrf_token %}>
{{pdct}}
<button type="submit" class="btn btn-sm btn-danger mt-3"
style="background:#ed2526; border-radius: 30px; width: 8rem;">Add Product</button>
</form>