[Django] #30898: Multi FormSet form Error object has no attribute instance

11 views
Skip to first unread message

Django

unread,
Oct 21, 2019, 4:28:04 PM10/21/19
to django-...@googlegroups.com
#30898: Multi FormSet form Error object has no attribute instance
-------------------------------------+-------------------------------------
Reporter: | Owner: nobody
azharsaleem9 |
Type: Bug | Status: new
Component: Forms | Version: 2.2
Severity: Normal | Keywords: Formsets, forms,
Triage Stage: | object has no attribute instance
Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
I'm working with multi Formset and get this problem. I mentioned my code
blow please check and help me to solve this issue. Thanks

**'VoucherEnteryForm' object has no attribute 'instance'**


== **views.py**

{{{
def index(request):
voucherEnteryFormset = modelformset_factory(
VoucherEntery, form=VoucherEnteryForm, fields=('group',
'subGroup', 'obtainMarks', 'totalMarks', 'grade'))
form = JournalVoucherForm(request.POST or None)
formset = voucherEnteryFormset(
request.POST or None, queryset=VoucherEntery.objects.none(),
prefix='jounarlvoucher')
if request.method == 'POST':
if form.is_valid() and formset.is_valid():
try:
with transaction.atomic():
voucher = form.save(commit=False)
voucher.save()

for entery in formset:
data = entery.save(commit=False)
data.voucher = voucher
data.save()
except IntegrityError:
print('Error Encountered')
return redirect('home-page')
context = {
'formset': formset,
'form': form
}
return render(request, 'myform.html', context)
}}}


== **models.py**


{{{
class JounarlVoucher(models.Model):
name = models.CharField(max_length=50)
datevc = models.DateField(auto_now=False)
reference = models.CharField(max_length=10)
jrcode = models.IntegerField()
createdAt = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.name

class Meta:
db_table = "JounarlVoucher"


class VoucherEntery(models.Model):
voucher = models.ForeignKey(
JounarlVoucher, related_name='jounarlvoucher',
on_delete=models.CASCADE)
group = models.CharField(max_length=50)
subGroup = models.CharField(max_length=50)
obtainMarks = models.IntegerField()
totalMarks = models.IntegerField()
grade = models.CharField(max_length=10)
createdAt = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.voucher

class Meta:
db_table = "VoucherEntery"
}}}


== **forms.py**


{{{
class JournalVoucherForm(forms.Form):
name = forms.CharField(label='Name', required=True,
widget=forms.TextInput(
attrs={
'class': 'form-control',
'placeholder': 'Name'
}
))
datevc = forms.DateField(label='Date', input_formats=['%Y/%m/%d'],
widget=forms.DateTimeInput(
attrs={
'class': 'form-control',
}
))
reference = forms.CharField(label='Ref', required=False,
widget=forms.TextInput(
attrs={
'class': 'form-control',
}
))
jrcode = forms.IntegerField(label='Code', required=False,
widget=forms.NumberInput(
attrs={
'class': 'form-control',
}
))


class VoucherEnteryForm(forms.Form):
group = forms.ChoiceField(label='Group', required=True,
choices=myGroup, widget=forms.Select(
attrs={
'class': 'form-control formset-field',
}
))
subGroup = forms.ChoiceField(label='Sub Group', required=True,
choices=subGroup, widget=forms.Select(
attrs={
'class': 'form-control formset-field',
}
))
obtainMarks = forms.IntegerField(label='Obtain Marks', required=True,
widget=forms.NumberInput(
attrs={
'class': 'form-control formset-field',
}
))
totalMarks = forms.IntegerField(label='Total Marks', required=True,
widget=forms.NumberInput(
attrs={
'class': 'form-control formset-field',
}
))
grade = forms.CharField(label='Grade', required=True,
widget=forms.TextInput(
attrs={
'class': 'form-control formset-field',
}
))
}}}


== **HTML Template**


{{{
<form method="POST">
{% csrf_token %}
{{ form.as_p }}

{% for data_frm in formset %}
<tr class="item">
<td>{{ data_frm.group }}</td>
<td>{{ data_frm.subGroup }}</td>
<td>{{ data_frm.obtainMarks }}</td>
<td>{{ data_frm.totalMarks }}</td>
<td>{{ data_frm.grade }}</td>
<td>
<button class="btn btn-danger remove-form-row">Delete</button>
</td>
</tr>
{% endfor %}

<button type="button" class="btn btn-success add-form-row" id="{{
formset.prefix }}">
Add
</button>
{{ formset.management_form }}
<button type="submit" class="btn btn-success">Submit</button>
</form>
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/30898>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Oct 21, 2019, 4:30:00 PM10/21/19
to django-...@googlegroups.com
#30898: Multi FormSet form Error object has no attribute instance
-------------------------------------+-------------------------------------
Reporter: azharsaleem9 | Owner:
| azharsaleem9
Type: Bug | Status: assigned
Component: Forms | Version: 2.2
Severity: Normal | Resolution:

Keywords: Formsets, forms, | Triage Stage:
object has no attribute instance | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by azharsaleem9):

* status: new => assigned
* owner: nobody => azharsaleem9


--
Ticket URL: <https://code.djangoproject.com/ticket/30898#comment:1>

Django

unread,
Oct 21, 2019, 4:40:49 PM10/21/19
to django-...@googlegroups.com
#30898: Multi FormSet form Error object has no attribute instance.

-------------------------------------+-------------------------------------
Reporter: azharsaleem9 | Owner:
| azharsaleem9
Type: Bug | Status: closed
Component: Forms | Version: 2.2
Severity: Normal | Resolution: invalid

Keywords: Formsets, forms, | Triage Stage:
object has no attribute instance | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* status: assigned => closed
* resolution: => invalid


Comment:

Please don't use trac as a support channel.

Closing per TicketClosingReasons/UseSupportChannels.

--
Ticket URL: <https://code.djangoproject.com/ticket/30898#comment:2>

Reply all
Reply to author
Forward
0 new messages