Reputation: 714
I want to add date and time manually for required task but when i add date & time and submit it show error of null field.
Model.py
from django.contrib.auth.models import User
from django.db import models
class TaskList(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
task = models.CharField(max_length=100, null=False, blank=False)
complete = models.BooleanField(default=False)
datetimepicker1 = models.DateTimeField(auto_now_add=False)
View.py
def post(self, request):
if SESSION_KEY in self.request.session:
try:
data = self.request.POST.get
task_list = TaskList(
user_id=request.session[SESSION_KEY],
task=data('task'),
datetimepicker1=data('datetimepicker1')
)
task_list.save()
return redirect('todolist')
except Exception as e:
return HttpResponse('failed {}'.format(e), 500)
Template
<form method="post">
{% csrf_token %}
<label for="task">
<input name="task" placeholder="add today's task" id="task" required>
</label>
<div class="input-group date" id="datetimepicker1" data-target-input="nearest">
<label for="datetimepicker1">
<input class="form-control datetimepicker-input" data-target="#datetimepicker1" type="text" id="datetimepicker1" required>
</label>
<div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
<button type="submit">add</button>
</form>
Upvotes: 1
Views: 1032
Reputation: 876
try this:
import datetime
def post(self, request):
datetimepicker1 = request.POST.get('datetimepicker1')
datetimepicker1 = datetime.datetime.strptime(datetimepicker1,'%Y-%m-%d')
if SESSION_KEY in self.request.session:
try:
data = self.request.POST.get
task_list = TaskList(
.....
datetimepicker1 = datetimepicker1
)
......
return HttpResponse('failed {}'.format(e), 500)
change datetimepicker1 to datetime
Upvotes: 1