Opened 9 years ago
Last modified 2 weeks ago
#26220 assigned New feature
Allow SingleObjectTemplateResponseMixin to get a template_name from form_class if it's a ModelForm
Reported by: | Guilhem Saurel | Owned by: | Clifford Gama |
---|---|---|---|
Component: | Generic views | Version: | 1.9 |
Severity: | Normal | Keywords: | |
Cc: | berker.peksag@…, Clifford Gama | Triage Stage: | Accepted |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
In this case, we have to set twice the model (or manually set template_name):
class ArticleForm(ModelForm): class Meta: model = Article fields = ['author', 'date'] def clean_date(self): ... class ArticleCreateView(CreateView): form_class = ArticleForm model = Article # Redundant
A PoC to fix this is available here: https://github.com/nim65s/django/commit/614dae5022bb5c7d8ad0336e17ef1e0c84b9dbbf
Change History (13)
comment:1 by , 9 years ago
Has patch: | set |
---|---|
Needs tests: | set |
Summary: | CBV: Finding template_name from form_class if it's a ModelForm → Allow SingleObjectTemplateResponseMixin to get a template_name from form_class if it's a ModelForm |
Triage Stage: | Unreviewed → Accepted |
follow-up: 3 comment:2 by , 9 years ago
Cc: | added |
---|
comment:3 by , 9 years ago
Replying to berkerpeksag:
Should we also make
model
optional forUpdateView
andDeleteView
?
What do you mean ? Is there any code that prevents you not to add a model
on an UpdateView
or a DeleteView
?
In my case, I tested my PoC without any model
and it worked… So it is optionnal, isn't it ?
comment:4 by , 9 years ago
So I've checked tests. SingleObjectMixin.get_queryset
needed the same kind of modification.
Here is the updated commit:
https://github.com/nim65s/django/commit/91f221b9e1d221d0f56213e187fcdf8e7564ded7
Tests are passing and coverage is green on my modifications.
comment:5 by , 9 years ago
Could you please create a patch following our PatchReviewChecklist and send a pull request against master?
comment:6 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Here it is: https://github.com/django/django/pull/6311
comment:7 by , 9 years ago
Needs tests: | unset |
---|---|
Patch needs improvement: | set |
Left a few comments for improvement. Please uncheck "Patch needs improvement" after you update it. Thanks!
comment:8 by , 3 years ago
Owner: | removed |
---|---|
Status: | assigned → new |
comment:9 by , 6 weeks ago
Cc: | added |
---|
comment:10 by , 3 weeks ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:12 by , 3 weeks ago
Patch needs improvement: | set |
---|
comment:13 by , 2 weeks ago
Patch needs improvement: | unset |
---|
Should we also make
model
optional forUpdateView
andDeleteView
?