submit_line.html
{{{
{% if show_save_and_continue %}<input onClick="this.disabled=true;
this.form.submit();" type="submit" value="{% trans 'Save and continue
editing' %}" name="_continue" />{% endif %}
}}}
models.py
{{{
from django.db import models
class Question(models.Model):
qn = models.CharField(max_length=200)
def __unicode__(self):
return self.qn
class Poll(models.Model):
name = models.CharField(max_length=200)
qn = models.ManyToManyField(Question)
}}}
admin.py
{{{
from django.contrib import admin
from .models import *
class PollAdmin(admin.ModelAdmin):
filter_horizontal = ('qn',)
admin.site.register(Poll, PollAdmin)
admin.site.register(Question)
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/25766>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
Old description:
> With just models.py and admin.py, I was able to save a poll without any
> problems.
> But if you add onClick="this.disabled=true; this.form.submit()", trying
> to save the poll will cause a problem.
>
> submit_line.html
>
> {{{
> {% if show_save_and_continue %}<input onClick="this.disabled=true;
> this.form.submit();" type="submit" value="{% trans 'Save and continue
> editing' %}" name="_continue" />{% endif %}
> }}}
>
>
> models.py
>
> {{{
> from django.db import models
>
> class Question(models.Model):
> qn = models.CharField(max_length=200)
>
> def __unicode__(self):
> return self.qn
>
> class Poll(models.Model):
> name = models.CharField(max_length=200)
> qn = models.ManyToManyField(Question)
>
> }}}
>
> admin.py
>
> {{{
> from django.contrib import admin
> from .models import *
>
> class PollAdmin(admin.ModelAdmin):
> filter_horizontal = ('qn',)
>
> admin.site.register(Poll, PollAdmin)
> admin.site.register(Question)
> }}}
New description:
With just models.py and admin.py, I was able to save a poll without any
problems.
But if you add onClick="this.disabled=true; this.form.submit()", even if
you try to add qn to the poll, it will not get saved
submit_line.html
{{{
{% if show_save_and_continue %}<input onClick="this.disabled=true;
this.form.submit();" type="submit" value="{% trans 'Save and continue
editing' %}" name="_continue" />{% endif %}
}}}
models.py
{{{
from django.db import models
class Question(models.Model):
qn = models.CharField(max_length=200)
def __unicode__(self):
return self.qn
class Poll(models.Model):
name = models.CharField(max_length=200)
qn = models.ManyToManyField(Question)
}}}
admin.py
{{{
from django.contrib import admin
from .models import *
class PollAdmin(admin.ModelAdmin):
filter_horizontal = ('qn',)
admin.site.register(Poll, PollAdmin)
admin.site.register(Question)
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/25766#comment:1>
* status: new => closed
* resolution: => needsinfo
Comment:
It's not clear to me how or why this is a bug in Django. It seems to me
that `onClick="this.disabled=true; this.form.submit();"` is something that
you or a third-party package you are using added.
--
Ticket URL: <https://code.djangoproject.com/ticket/25766#comment:2>
Comment (by liwee):
I added the javascript to prevent multiple button clicks; Whilst
submitting credit card details for payment, some sites disable the submit
button to prevent multiple payments, I am just trying to mimic that
behaviour.
If you comment {{{filter_horizontal = ('qn',)}}} and try again, saving
will not cause a problem. Originally, I had the impression that it was a
problem with ManyToManyField because I was able to save other fields
without a problem.
--
Ticket URL: <https://code.djangoproject.com/ticket/25766#comment:3>
Comment (by timgraham):
I think this is covered by #16730.
--
Ticket URL: <https://code.djangoproject.com/ticket/25766#comment:4>