Skip to content
Advertisement

why is day out of range?

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

Internal Server Error: /admin/main/vergadering/
Traceback (most recent call last):
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocorehandlersexception.py", line 47, in inner
    response = get_response(request)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocorehandlersbase.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocontribadminoptions.py", line 614, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoutilsdecorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoviewsdecoratorscache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocontribadminsites.py", line 233, in inner
    return view(request, *args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoutilsdecorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangoutilsdecorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangocontribadminoptions.py", line 1811, in changelist_view
    'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)},
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 269, in __len__
    self._fetch_all()
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 1308, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelsquery.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelssqlcompiler.py", line 1189, in execute_sql
    return list(result)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelssqlcompiler.py", line 1606, in cursor_iter
    for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel):
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbmodelssqlcompiler.py", line 1606, in <lambda>
    for rows in iter((lambda: cursor.fetchmany(itersize)), sentinel):
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsite-packagesdjangodbutils.py", line 97, in inner
    return func(*args, **kwargs)
  File "C:Usersfam de baereAppDataLocalProgramsPythonPython38libsqlite3dbapi2.py", line 64, in convert_date
    return datetime.date(*map(int, val.split(b"-")))
ValueError: day is out of range for month
[02/Feb/2021 13:53:33] "GET /admin/main/vergadering/ HTTP/1.1" 500 133973

this is my model

class Vergadering(models.Model):
    kriskras = models.ForeignKey(Kriskras, on_delete=models.CASCADE)
    date = models.DateField(("Date"), default=datetime.date.today)
    extra = models.CharField(max_length=5)
    activiteit = models.CharField(max_length=500)

    def __str__(self):
        return self.activiteit
    

this is my html page

      {% for vergadering in ls.vergadering_set.all %}
            <div class="input-group mb-3">
                <input type="date", value="{{vergadering.date}}"  class="form-control col-2" name="d{{vergadering.id}}">
                <input type="text", value="{{vergadering}}" class="form-control" name="c{{vergadering.id}}">
            </div>
            
            
        {% endfor %}

and this is my view

def index(response, id):
    ls = Kriskras.objects.get(id=id)
    
    if response.method == "POST":
        print(response.POST)
        if response.POST.get("wijzig"):
            print("wijzig")
            for vergadering in ls.vergadering_set.all():
                    pass
                    

        elif response.POST.get("newVergadering"):
            txt = response.POST.get("new")
            date = response.POST.get("newdate")

            if len(txt) > 2:
                ls.vergadering_set.create(activiteit=txt, date=date)
            else:
                print("invalid")

    return render(response, "main/kriskras.html", {"ls":ls})

i cant figure out why this is raising, i think it has something to do with the date format?

Advertisement

Answer

try this

class Vergadering(models.Model):
    kriskras = models.ForeignKey(Kriskras, on_delete=models.CASCADE)
    date = models.DateField(("Date"), default=datetime.date.today()) # 


>>> import datetime
>>> datetime.date.today
<built-in method today of type object at 0x9e14e0>
>>> datetime.date.today()
datetime.date(2021, 2, 2)
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement