Как получить различные типы данных в django?

Я создал систему управления посещаемостью и хочу получить различные типы дат из таблицы. Например,

В моей таблице посещаемости есть разные даты, но некоторые даты повторяются, например - для каждой даты есть количество пользователей, которые присутствуют

staff table.                attendance table

id = 1                      id = 1
name = john                 staff_id = 1
                            date = 31.08.2021
id = 2                      attendance = present
name = harry 
                            id = 2
                            staff_id = 2
                            date = 31.08.2021
                            attendance = absent

                            id = 3
                            staff_id = 1
                            date = 01.09.2021
                            attendance = present

                            id = 4
                            staff_id = 2
                            date = 01.09.2021
                            attendance = present

из данных таблицы выше я хотел извлечь единственную дату без повторений

так что когда мы пишем код, ответ будет

31.08.2021
01.09.2021

это мой файл шаблона

{% for attendances in attendance %}
    <th>{{ attendances.date }}</th>
    // here i want to retrive 31.08.2021 and 01.09.2021
{% endfor %}

Это мой файл представлений

def index(request):
    staffs = staff.objects.all()
    attendances = attendance.objects.all()
    date = datetime.date.today()

    return render(request, "salary/index.html", {'staff': staffs, 'attendance': attendances, 'date': date})

Вы можете получить его из базы данных напрямую (если вы используете postgres), или подготовить его самостоятельно из attendances. Просто делайте то, что лучше для вас.

def index(request):
    staffs = staff.objects.all()
    attendances = attendance.objects.all()
    date = datetime.date.today()
    
    
    # unique_dates = list(attendance.objects.all().order_by().values('date').distinct())
    # OR
    # unique_dates = list({a.date for a in atteendances})
    

    return render(request, "salary/index.html", {'staff': staffs, 'attendance': attendances, 'date': date, 'unique_dates': unique_dates})
Вернуться на верх