i am trying to add a date to an application that I am writing. the apllication is actualy a list of activities. when i tried to add a datefield to the ui and save it into my database. i got this error
JavaScript
x
39
39
1
Internal Server Error: /admin/main/vergadering/
2
Traceback (most recent call last):
3
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocorehandlersexception.py", line 47, in inner
4
response = get_response(request)
5
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocorehandlersbase.py", line 181, in _get_response
6
response = wrapped_callback(request, *callback_args, **callback_kwargs)
7
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocontribadminoptions.py", line 614, in wrapper
8
return self.admin_site.admin_view(view)(*args, **kwargs)
9
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoutilsdecorators.py", line 130, in _wrapped_view
10
response = view_func(request, *args, **kwargs)
11
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoviewsdecoratorscache.py", line 44, in _wrapped_view_func
12
response = view_func(request, *args, **kwargs)
13
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocontribadminsites.py", line 233, in inner
14
return view(request, *args, **kwargs)
15
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoutilsdecorators.py", line 43, in _wrapper
16
return bound_method(*args, **kwargs)
17
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoutilsdecorators.py", line 130, in _wrapped_view
18
response = view_func(request, *args, **kwargs)
19
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocontribadminoptions.py", line 1811, in changelist_view
20
'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)},
21
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 269, in __len__
22
self._fetch_all()
23
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 1308, in _fetch_all
24
self._result_cache = list(self._iterable_class(self))
25
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 53, in __iter__
26
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
27
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelssqlcompiler.py", line 1189, in execute_sql
28
return list(result)
29
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelssqlcompiler.py", line 1606, in cursor_iter
30
for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel):
31
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelssqlcompiler.py", line 1606, in <lambda>
32
for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel):
33
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbutils.py", line 97, in inner
34
return func(*args, **kwargs)
35
File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsqlite3dbapi2.py", line 64, in convert_date
36
return datetime.date(*map(int, val.split(b"-")))
37
ValueError: day is out of range for month
38
[02/Feb/2021 13:53:33] "GET /admin/main/vergadering/ HTTP/1.1" 500 133973
39
this is my model
JavaScript
1
10
10
1
class Vergadering(models.Model):
2
kriskras = models.ForeignKey(Kriskras, on_delete=models.CASCADE)
3
date = models.DateField(("Date"), default=datetime.date.today)
4
extra = models.CharField(max_length=5)
5
activiteit = models.CharField(max_length=500)
6
7
def __str__(self):
8
return self.activiteit
9
10
this is my html page
JavaScript
1
9
1
{% for vergadering in ls.vergadering_set.all %}
2
<div class="input-group mb-3">
3
<input type="date", value="{{vergadering.date}}" class="form-control col-2" name="d{{vergadering.id}}">
4
<input type="text", value="{{vergadering}}" class="form-control" name="c{{vergadering.id}}">
5
</div>
6
7
8
{% endfor %}
9
and this is my view
JavaScript
1
22
22
1
def index(response, id):
2
ls = Kriskras.objects.get(id=id)
3
4
if response.method == "POST":
5
print(response.POST)
6
if response.POST.get("wijzig"):
7
print("wijzig")
8
for vergadering in ls.vergadering_set.all():
9
pass
10
11
12
elif response.POST.get("newVergadering"):
13
txt = response.POST.get("new")
14
date = response.POST.get("newdate")
15
16
if len(txt) > 2:
17
ls.vergadering_set.create(activiteit=txt, date=date)
18
else:
19
print("invalid")
20
21
return render(response, "main/kriskras.html", {"ls":ls})
22
i cant figure out why this is raising, i think it has something to do with the date format?
Advertisement
Answer
try this
JavaScript
1
11
11
1
class Vergadering(models.Model):
2
kriskras = models.ForeignKey(Kriskras, on_delete=models.CASCADE)
3
date = models.DateField(("Date"), default=datetime.date.today()) #
4
5
6
>>> import datetime
7
>>> datetime.date.today
8
<built-in method today of type object at 0x9e14e0>
9
>>> datetime.date.today()
10
datetime.date(2021, 2, 2)
11