Проблема с использованием datepicker в форме редактирования

У меня проблемы с редактированием данных в проекте django. Все почти в порядке :) , но если я пытаюсь редактировать данные, моя форма получает все данные из базы данных, кроме поля date. Я нашел решение, как показано ниже, и я вижу datapicker на моей форме редактирования, но я должен заполнить данные в этом поле. Все данные в форме редактирования заполнены, кроме этого поля.

Datapicker для добавления записей работает хорошо. Я использую одну и ту же форму для добавления и редактирования.

Мой forms.py приведен ниже:

from django import forms
from .models import Expens, Category

class DateInput(forms.DateInput):
    input_type = 'date'

class ExpensForm(forms.ModelForm):
    class Meta:
        model = Expens
        fields = ('name', 'date', 'category', 'value', 'add_description', 'scan')
        labels = {
            'name': 'Nawa wydatku:',
            'date': 'Data wydatku:',
            'category': 'Kategoria wydatku:',
            'value': 'Kwota wydatku:',
            'add_description': 'Dodatkowy opis:',
            'scan': 'Skan paragonu:',
        }
        widgets ={
            'name': forms.TextInput(attrs={'class': 'form-control'}),
            'date': DateInput(attrs={'class': 'form-control'}),
            'category': forms.Select(attrs={'class': 'form-control'}),
            'value': forms.NumberInput(attrs={'class': 'form-control'}),
            'add_description': forms.TextInput(attrs={'class': 'form-control'}),
            'scan':(),
        }

Мой html шаблон для этой формы приведен ниже:

{% extends 'expenses/index.html' %}
{% block tytul %} DATABASE FORMS {% endblock %}
{% load bootstrap5 %}
{{ form.media }}

{% block strona %}
    {% if new %}  
        <h5>Add record</h5>
    {% else %}
        <h5>Edit record</h5>
    {% endif %}
    
    <div class="mb-3">
        <form method="post" enctype="multipart/form-data">
            {% csrf_token %}
            {% bootstrap_form form %}
            <div class="col-lg-12" style="text-align:center">
                {% if new %}  
                    <button type="submit" class="btn btn-success btn-sm">ADD</button>
                {% else %}
                    <button type="submit" class="btn btn-success btn-sm">EDIT</button>
                {% endif %}
            </div>    
        </form>
    </div>
    <div class="col-lg-12" style="text-align:center">  
        <br>
        <br>
        <a href= "{% url 'show_record' %}" class="btn btn-success btn-sm">Back</a>
    </div>

{% endblock %}

Мой models.py имеет следующий вид:

from django.db import models

# Create your models here.

class Category(models.Model):
    name = models.CharField(max_length=60, blank=False, unique=True)
    add_description = models.TextField(default="")
    
    def __str__(self):
        return self.name

class Expens(models.Model):
    name = models.CharField(max_length=120, blank=False, null=False)
    date = models.DateField(null=True, blank= True)
    category= models.ForeignKey(Category, blank=False, null=True, on_delete=models.SET_NULL)
    value = models.DecimalField(max_digits=10, decimal_places=2, null = False, blank=False)
    add_description = models.TextField(default="", null=True, blank=True)
    scan = models.ImageField(upload_to ="scans", null = True, blank = True)


    def __str__(self):
            return self.expens_with_data()
        
    def expens_with_data(self):
                return "{} ({})".format(self.category, self.date)

Что случилось? :)

Вернуться на верх