Skip to main content

Provides a Django model and form fields for dates that do not include days.

Project description

=================== django-daylessdate

Provides a Django model and form fields for dates that do not include days.

Prerequisites

  • Django 3.0+
  • Python 3.6+

Installation

.. code-block:: console

pip install django-daylessdate

Usage

The package provide fields DaylessDateField.

DaylessDateField

DaylessDateField stores a date without a day: January 2021, for example.

Its default widget consists of one dropdowns and one input, one for a month and one for the year.

Here's an example models.py that declares a model with a required dayless date::

from django.db import models
from djangodaylessdate.models import DaylessDateField

class MyModel(models.Model):
    month = DaylessDateField()

The values of DaylessDateField on the model instances can be accessed like so:

a = MyModel.objects.get(id=1) a <MyModel: August 2021> a.month.month 8 a.month.year 2021 print a.month August 2021

They can also be compared or sorted as would be expected, for example:

m = MyModel.objects.all() m [<MyModel: August 2021>, <MyModel: January 2021>] m[0].month > m[1].month True m.order_by('month') [<MyModel: January 2021>, <MyModel: August 2021>]

In admin.py::

from djangodaylessdate.filters import DaylessDateFilter

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    list_filter = [('month', DaylessDateFilter)]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-daylessdate-0.4.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

django_daylessdate-0.4-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page