У меня есть следующая модель в Django, и в основном мне нужно автоматически инициализировать 3 из 5 полей после того, как пользователь вставил некоторые данные, например,
Models.py
class Assignment(models.Model):
assignment = models.CharField(max_length=60)
comments = models.CharField(max_length=60)
starting_date = models.DateField()
points = models.IntegerField()
STATUS = (('A', 'Active'), ('C', 'Cancelled'), ('D', 'Done'))
status = models.CharField(max_length=1, choices=STATUS)
Forms.py
from django import forms
from .models import Task
class TaskForm(forms.ModelForm):
class Meta:
model = Task
starting_date = datetime.now()
fields = ['task_description', 'task_comments', 'starting_date', 'priority', 'points']
Форма ввода
<!-- Input form to request to values-->
<div class="panel-heading">Add a new assignment </div>
<form id ="insert_new_assign" class="form-horizontal" method="POST">
{% csrf_token %}
<div class="panel-body">
<div class="input-group">
<input class="form-control" name="insert_new_assign_field" type="text" placeholder="Insert your new assignment here" />
<input class="form-control" name="insert_new_comment_field" type="text" placeholder="Any comment you want to add?" />
<button class="btn btn-primary" type="submit">Add</button>
</div>
</div>
</form>
</div>
См. JS Fiddle длякраткий справочник
Обычно, когда пользователь вводит новое назначение и комментарий, Я хочу, чтобы Django сохранил эти два поля и автоматически инициализировал другие поля с текущим временем, 0 точками и статусом A .Всякий раз, когда я пытаюсь сохранить новую запись, я получаю сообщение об ошибке The view engine.views.home didn't return an HttpResponse object
, что является нормальным явлением, поскольку Django ожидает от пользователя заполнения всех полей, а не только двух.
Предыдущее исследование
Основываясь на некоторых исследованиях, я обнаружил, что только одно поле может быть заполнено в модели Джанго - идентификатор - нов то же время они упоминают Custom Managers
- классы, которые могут решить мою проблему, однако примеры, которые они предоставляют, не подходят для моей текущей ситуации .
Мой главный вопрос:
Как мне указать в Django сохранить два поля и автоматически инициализировать другие поля с текущей датой и временем, 0 точками иСтатус?
Любая помощь в этом вопросе будет принята с благодарностью, не стесняйтесь улучшить этот вопрос.