Jalali Date support for Django 1.7 model and admin interface
Project description
This module gives you a DateField same as Django’s DateField but you can get and query data based on Jalali Date
Dependencies
.jdatetime – easy_install jdatetime
.Django – easy_install django
Install
$ easy_install django_jalali
Usage
Direct Usage
Run :
$ django-admin.py startproject jalali_test
Start your app :
$ python manage.py startapp foo
Edit settings.py and add django_jalali and your foo to your INSTALLED_APPS (also config DATABASES setting)
django_jalali should be added before your apps in order to work properly
Edit foo/models.py
from django.db import models from django_jalali.db import models as jmodels class Bar(models.Model): objects = jmodels.jManager() name = models.CharField(max_length=200) date = jmodels.jDateField() def __str__(self): return "%s, %s"%(self.name, self.date) class BarTime(models.Model): objects = jmodels.jManager() name = models.CharField(max_length=200) datetime = jmodels.jDateTimeField() def __str__(self): return "%s, %s" %(self.name, self.datetime)
Run
$ python manage.py syncdb
Test it
$ python manage.py shell Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from foo.models import Bar >>> import jdatetime >>> today = jdatetime.date(1390, 5, 12) >>> mybar = Bar(name="foo", date=today) >>> mybar.save() >>> mybar.date jdatetime.date(1390, 5, 12) >>> Bar.objects.filter(date=today) [<Bar: foo, 1390-05-12>] >>> Bar.objects.filter(date__gte="1390-5-12") [<Bar: foo, 1390-05-12>] >>> Bar.objects.filter(date='1363-08-01') [] >>> from foo.models import BarTime >>> BarTime(name="Bar Time now", datetime=jdatetime.datetime(1380,8,2,12,12,12)).save() >>> BarTime.objects.filter(datetime__lt= jdatetime.datetime(1380,8,2,12,12,12 )) [] >>> BarTime.objects.filter(datetime__lte= jdatetime.datetime(1380,8,2,12,12,12 )) [<BarTime: Bar Time now, 1380-08-0212:12:12>] >>> BarTime.objects.filter(datetime__gt='1380-08-02') [<BarTime: Bar Time now, 1380-08-0212:12:12>] >>> BarTime.objects.filter(datetime__gt=d) [] >>> BarTime.objects.filter(datetime__year=1380) [<BarTime: Bar Time now, 1380-08-0212:12:12>]
Admin Interface
Create foo/admin.py
from foo.models import Bar,BarTime from django.contrib import admin import django_jalali.admin.filterspecs #you need to import this for adding filter in admin interface import django_jalali.admin as jadmin #you need import this for adding jalali calander widget class BarAdmin(admin.ModelAdmin): list_filter = ['date'] admin.site.register(Bar, BarAdmin) class BarTimeAdmin(admin.ModelAdmin): list_filter = ['datetime'] admin.site.register(BarTime, BarTimeAdmin)
Config admin interface and fire up your django and enjoy using jalali date !
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-jalali-1.1.tar.gz
(34.4 kB
view details)
File details
Details for the file django-jalali-1.1.tar.gz
.
File metadata
- Download URL: django-jalali-1.1.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ec96295c45903595af36ca9c2d7fedf0d0dd89bdb8b2606433f6c119c7cf074 |
|
MD5 | fe39d13f37af9fba2bd35784d506b4bf |
|
BLAKE2b-256 | 46a5f9ae4e35ccfdcbd9733ab07a73f397e6a0172d015a43dc54fbe70b75512f |