i found this bug
when you have model like this:
class FunkcjeProdukt(models.Model):
funkcja = models.ForeignKey(FunkcjeRodzina)
produkt = models.ForeignKey(Produkty)
wartosc = models.CharField(max_length=255)
class Meta:
unique_together = ("produkt", "funkcja")
and form from model:
class FunkcjeProduktForm(ModelForm):
wartosc = forms.CharField(widget=forms.TextInput(attrs={'size':'40','class':'formularz'}))
class Meta:
model = FunkcjeProdukt
exclude=('produkt','funkcja')
end if you want only edit "wartosc" from existing instance:
form_fp = FunkcjeProduktForm(data=request.POST,instance=finst)
if form_fp.is_valid():
form_fp.save()
error is throw:
KeyError at /cms/r_produkt/8/'produkt'
Request Method: POST
Request URL: http://posiflex.com.pl/cms/r_produkt/8/
Exception Type: KeyError
Exception Value: 'produkt'
Exception Location: /home/posiflex/django/forms/models.py in validate_unique, line 238
because:
in validate_unique() from django/forms/models.py
line unique_checks = list(self.instance._meta.unique_together[:])
add 'produkt' and 'funkcja' even when this fields in on exclude list