Я в тупике ...
Я получаю «TypeError: объект int не вызывается», когда представление пытается удалить экземпляр. »
Исключение выдается в строке "form.instance.delete ()"
Вот код:
view.py
def decorate_letter(request, ...):
....
if request.POST:
flair_formset = flair_formset_factory(request.POST or None)
for form in flair_formset.forms:
if form.has_changed():
if form.is_valid():
if form.cleaned_data['delete'] == 1:
form.instance.delete()
elif form not in flair_formset.deleted_forms:
form.save()
models.py
class LetterFlair(models.Model):
letter = models.ForeignKey(Letter, on_delete=models.CASCADE)
flair = models.ForeignKey(Flair, on_delete=models.CASCADE, default=1)
x = models.DecimalField(decimal_places=2, max_digits=5, null=True, default=0)
y = models.DecimalField(decimal_places=2, max_digits=5, null=True, default=0)
r = models.DecimalField(decimal_places=2, max_digits=5, null=True, default=0)
placed = models.CharField(default='false', max_length=250)
delete = models.IntegerField(default=0)
forms.py
class LetterFlairModelForm(forms.ModelForm):
class Meta:
model = LetterFlair
fields = ['letter', 'flair', 'x', 'y', 'r', 'placed', 'delete']
трассировка стека
Traceback (most recent call last):
File ".../python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File ".../python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File ".../python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File ".../python3.6/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File ".../letters/views.py", line 140, in decorate_letter
form.instance.delete()
TypeError: 'int' object is not callable
Что может быть причиной исключения?
Обновление
Я добавил в свой вопрос трассировку стека.
Я искренне не уверен, какая часть моих кодов приводит к этому вопросу и, следовательно, опубликовал больше, чем обычно.
Обновление 2
Теперь, когда стало ясно, откуда возникла ошибка, для чего я уменьшил опубликованный код.