django-daylessdate 1.1

Creator: danarutscher

Last updated:

Add to Cart

Description:

djangodaylessdate 1.1

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

Prerequisites

Django 3.0+
Python 3.6+



Installation
pip install django-daylessdate


Usage
The package provide fields DaylessDateField.
Add djangodaylessdate to INSTALLED_APPS:
INSTALLED_APPS = (
...
'djangodaylessdate',
...
)

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)]

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.