From 3da5bf052e1247deec6f3236afb9023442958934 Mon Sep 17 00:00:00 2001 From: james1293 Date: Wed, 24 Jul 2019 15:10:26 -0400 Subject: [PATCH] allow blank form input, use clean func to keep old val --- todo/forms.py | 5 +++++ todo/migrations/0011_auto_20190724_1130.py | 20 ++++++++++++++++++++ todo/models.py | 2 +- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 todo/migrations/0011_auto_20190724_1130.py diff --git a/todo/forms.py b/todo/forms.py index 4793c46..072a201 100644 --- a/todo/forms.py +++ b/todo/forms.py @@ -49,6 +49,11 @@ class AddEditTaskForm(ModelForm): note = forms.CharField(widget=forms.Textarea(), required=False) + def clean_created_by(self): + """Keep the existing created_by regardless of anything coming from the submitted form. + If creating a new task, then created_by will be None, but we set it before saving.""" + return self.instance.created_by + class Meta: model = Task exclude = [] diff --git a/todo/migrations/0011_auto_20190724_1130.py b/todo/migrations/0011_auto_20190724_1130.py new file mode 100644 index 0000000..21569d4 --- /dev/null +++ b/todo/migrations/0011_auto_20190724_1130.py @@ -0,0 +1,20 @@ +# Generated by Django 2.1.8 on 2019-07-24 11:30 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('todo', '0010_attachment'), + ] + + operations = [ + migrations.AlterField( + model_name='task', + name='created_by', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='todo_created_by', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/todo/models.py b/todo/models.py index 7b44e36..c79d3dc 100644 --- a/todo/models.py +++ b/todo/models.py @@ -78,9 +78,9 @@ class Task(models.Model): created_by = models.ForeignKey( settings.AUTH_USER_MODEL, null=True, + blank=True, related_name="todo_created_by", on_delete=models.CASCADE, - editable=False, ) assigned_to = models.ForeignKey( settings.AUTH_USER_MODEL,