{
"info": {
"author": "Randle Taylor",
"author_email": "randle.taylor@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.6",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4"
],
"description": "Welcome to django-listable's documentation!\n=================================================================\n\n.. image:: https://travis-ci.org/randlet/django-listable.svg?branch=master\n :target: https://travis-ci.org/randlet/django-listable\n\nContents:\n\n.. toctree::\n :maxdepth: 3\n\n contributing\n authors\n history\n\n\n=============================\nAbout\n=============================\n\nListable is a Django package to make the integration of your Django\nmodels with `Datatables.js `_ easy.\n\nDjango-listable was motivated by my repeated need to generate sortable\nand filterable tables from my Django models for CRUD apps.\n\nThe idea is that you should easily be able to go from a model like this::\n\n class Staff(models.Model):\n\n first_name = models.CharField(max_length=255, help_text=_(\"Enter the name of the staff being rounded\"))\n last_name = models.CharField(max_length=255, help_text=_(\"Enter the name of the staff being rounded\"))\n active = models.CharField(max_length=10, choices = ACTIVE_CHOICES)\n\n position = models.ForeignKey(Position)\n department = models.ForeignKey(Department)\n\n limit = models.Q(app_label='staff', model='genericmodela') | models.Q(app_label='staff', model='genericmodelb')\n content_type = models.ForeignKey(ContentType, limit_choices_to=limit)\n object_id = models.PositiveIntegerField()\n generic_object = generic.GenericForeignKey(\"content_type\", \"object_id\")\n\nto a filterable/orderable table in a template like this with as little code as possible:\n\n.. image:: docs/_static/staff_table.png\n\nThere are a couple of other similar projects worth checking out to see if they fit your\nneeds better:\n\n- `django-datatables-view `_\n- `django-datatables `_\n- `django-eztables `_\n\n\n============\nInstallation\n============\n\n $ pip install django-listable\n\n\n========\nSettings\n========\n\nListable currently has 4 settings you can configure to be used\nas default values for your table (they can be overriden in the listable template tag).\n\n*LISTABLE_DOM*\n\nDefault datatables sDOM parameter to use. By default listable uses the Bootstrap 3 dom below.::\n\n # bootstrap 2\n # LISTABLE_DOM = '<\"row-fluid\"<\"span6\"ir><\"span6\"p>>rt<\"row-fluid\"<\"span12\"lp>>'\n\n #boostrap 3\n LISTABLE_DOM = '<\"row\"<\"col-sm-6\"i><\"col-sm-6\"rp>>rt<\"row\"<\"col-sm-12\"lp>>'\n\n\n*LISTABLE_PAGINATION_TYPE* ::\n\n # pagination types -> bootstrap2, bootstrap3, two_button, full_numbers\n LISTABLE_PAGINATION_TYPE = \"full_numbers\"\n\n*LISTABLE_STATE_SAVE*\n\nEnable sticky filters by default.::\n\n LISTABLE_STATE_SAVE = True\n\n*LISTABLE_PAGINATE_BY*\n\nDefault page size.::\n\n LISTABLE_PAGINATE_BY = 10\n\n\n========\nUsage\n========\n\nThere's four steps to using django-listable\n\n1. Including `listable` in your settings.INSTALLED_APPS\n2. Create a view by subclassing listable.views.BaseListableView\n3. Connect the view to a url pattern in your apps urls.py\n4. Include the `listable` template tag in a template\n\nThese steps will demonstrated below assuming we have\na Django application called staff and we want to create a page on our\nsite with a list of staff and the department and business they belong to.\n\nwith the following models defined::\n\n class Business(models.Model):\n\n name = models.CharField(max_length=255)\n\n\n class Department(models.Model):\n\n name = models.CharField(max_length=255)\n business = models.ForeignKey(Business)\n\n\n class Staff(models.Model):\n\n first_name = models.CharField(max_length=255, help_text=_(\"Enter the name of the staff being rounded\"))\n last_name = models.CharField(max_length=255, help_text=_(\"Enter the name of the staff being rounded\"))\n active = models.CharField(max_length=10, choices = ACTIVE_CHOICES)\n\n department = models.ForeignKey(Department)\n\n def name(self):\n return \"%s, %s\" % (self.last_name, self.first_name)\n\n def status(self):\n return self.get_active_display()\n\nA full functional example can be found in the demo app included with\ndjango-listable.\n\n\nAdding `listable` to settings.INSTALLED_APPS\n--------------------------------------------\n\nTo start using django-listable add `listable` to your INSTALLED_APPS::\n\n INSTALLED_APPS = (\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.sites',\n 'django.contrib.messages',\n 'django.contrib.staticfiles',\n 'django.contrib.admin',\n\n\n 'staff',\n 'listable',\n ...\n )\n\nDefining a Listable view\n------------------------\n\nTo define a `listable` view, sublcass `listable.views.BaseListableView`\nand set the model that is to be used as the source of data::\n\n from listable.views import BaseListableView\n from models import Staff\n\n\n class StaffList(BaseListableView):\n\n model = models.Staff\n\n ...\n\nDefining Columns for your table\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nEvery `listable` view must define one or more fields to be displayed as columns in the table.\n`listable` fields are defined in a manner similar to ModelForms::\n\n class StaffList(BaseListableView):\n\n model = models.Staff\n\n\n fields = (...)\n widgets = {...} # optional\n search_fields = {...} # optional\n order_fields = {...} # optional\n headers = {...} # optional\n select_related = (...) # optional\n prefetch_related = (...) # optional\n\n\n\n*fields*\n\nFields defines an iterable of the columns that you want to display in the table,\nthese fields can either be fields on your model, foreign key lookups, the name\nof a callable on your view, the name of a callable on your model or the result of an *extra*\nquery.\n\n\n*widgets*\n\nWidgets is a dictionary mapping a field to a search widget type. Currently you can use\neither text (default) or select inputs. For example::\n\n from listable.views import BaseListableView, SELECT\n\n from . import models\n\n class StaffList(BaseListableView):\n\n model = models.Staff\n\n fields = (\"id\", \"name\", \"active\", \"department__name\",)\n\n widgets = {\n \"department__name\": SELECT,\n \"active\": SELECT,\n }\n\nThe choices available in a select widget are currently automatically\npopulated although this will change to allow manual configuration of choices\nin the future. The choices are populated based on either the `choices` option\nfor a model field or in the case of a foreign key all the values of the foreign\nkey lookup. (*I hope to make this more flexible in the future*)\n\n*search_fields (optional)*\n\nSearch fields are a mapping of field names to the django filter syntax that should\nbe used for searching the table. This can either be a string, an iterable of\nstrings or a falsy value to disable searching on that field. For example::\n\n search_fields = {\n \"name\": (\"first_name__icontains\", \"last_name__icontains\",),\n \"last_name\": \"last_name__exact\",\n \"genericname\": \"genericname__icontains\",\n \"department__name\": False,\n }\n\nif a field is not declared in search_field's it a filter using `icontains` is assumed.\n\n*order_fields (optional)*\n\nOrder fields allows you to define how a column should be ordered (similar to\nDjango's ordering or order_by). For example::\n\n\n order_fields = {\n \"name\": (\"last_name\", \"first_name\",),\n }\n\n*headers (optional)*\n\nHeaders is a mapping of field names to the column name to be displayed. For example by default\na field name of `department__business__name` would be converted to \"Department Business Name\" but that\ncould be overriden like so::\n\n headers = {\n \"department__business__name\": _(\"Business\"),\n }\n\n*select_related*\n\nAllows you to use Django's queryset select_related option for reducing database queries. e.g::\n\n select_related = (\"department\", \"position\", \"department__business\",)\n\n*prefetch_related*\n\nAllows you to use Django's queryset prefetch_related option for reducing database queries. e.g::\n\n prefetch_related = (\"some_fk__some_field\",)\n\n\n*get_extra*\n\n*Due to a bug with pagination, using an extra query will result in your entire table being loaded into memory before\nbeing paginated :(*\n\nYou may define a callable `get_extra` method on your view that should return a dictionary suitable\nfor use in the Django queryset's `extra` method. For example::\n\n def get_extra(self):\n return {select: {'is_recent': \"pub_date > '2006-01-01'\"}}\n\n\nA more complex example is given in the \"Complete Example\" sample below.\n\n\n\nFormatting fields\n^^^^^^^^^^^^^^^^^\n\nThe order in which `listable` tries to find a method for formatting a field for display is as follows:\n\n1. A method on the actual view::\n\n class StaffList(BaseListableView):\n\n model = models.Staff\n\n fields = (..., \"name\",...)\n def name(self, staff):\n return staff.name()\n\n2. A `get_{field}_display` callable on the model.\n\n3. A callable on the model::\n\n class Staff(Model):\n ...\n def staff_name(self):\n return \"{0} {1}\".format(self.first_name, self.last_name)\n\n class StaffList(BaseListableView):\n\n model = models.Staff\n\n fields = (..., \"staff_name\",...)\n\n4. A field on the model.\n\nA `listable` column is defined using the `listable.views.Column` data structure.\nA `Column` is essentially a namedtuple with the following fields (detailed descriptions below):\n\n\nIncluding the `listable` template tag in a template\n---------------------------------------------------\n\nTo include `listable` in your templates you need to load the `listable` template\ntags and include the `listable_css`, a placeholder for the listable table\nand the listable tag which tells the template the name of the view to wire the table to.::\n\n\n {% extends 'base.html' %}\n\n {% load listable %}\n\n {% block extra_css %}\n {% listable_css %}\n {% endblock extra_css %}\n\n {% block content %}\n {{listable_table}}\n {% endblock %}\n\n {% block extra_js %}\n {% listable 'staff-list'%}\n {% endblock extra_js %}\n\n\nwith the example above requiring a url something like::\n\n\n urlpatterns = patterns('',\n url('staff-list/$', views.StaffList.as_view(), name=\"staff-list\"),\n )\n\n\nArguments to the listable tag\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThe listable tag currently has 1 required argument and five optional keyword args.\nA full example of the listable template tag looks like::\n\n {% listable 'staff-list' dom=\"\", save_state=False, pagination_type=\"\", css_table_class=\"\", css_input_class=\"\" %}\n\n*dom*\n\nOverrides the default Datatables sDOM parameter to use. ::\n\n {% listable 'staff-list' dom='<\"row-fluid\"<\"span6\"ir><\"span6\"p>>rt<\"row-fluid\"<\"span12\"lp>>' %}\n\n*pagination_type*\n\nOverrides the default Datatables sDOM parameter to use. ::\n\n {% listable 'staff-list' pagination_type='bootstrap3' %}\n\n*save_state*\n\nSave state enables/disables sticky filters in `DataTables `_.::\n\n {% listable 'staff-list' save_state=False %}\n\n*css_table_class*\n\nAdd a css class to your datatables table e.g.::\n\n {% listable 'staff-list' css_table_class=\"striped compact\" %}\n\n*css_input_class*\n\nAdd a css class to the datatables column filter inputs e.g.::\n\n {% listable 'staff-list' css_table_class=\"input-sm\" %}\n\n\n==================\nA Complete Example\n==================\n\nThis is a complete example of a `django-listable` table. It is included\nas a demo app under the django-listable/listable-demo/\n\nmodels.py\n---------\n\n::\n\n ACTIVE = 'active'\n INACTIVE = 'inactive'\n TERMINATED = 'terminated'\n\n ACTIVE_CHOICES = (\n (ACTIVE, \"Active\"),\n (INACTIVE, \"Inactive\"),\n (TERMINATED, \"Terminated\"),\n )\n\n ACTIVE_CHOICES_DISPLAY = dict(ACTIVE_CHOICES)\n\n\n class Business(models.Model):\n\n name = models.CharField(max_length=255)\n business_type = models.IntegerField(choices=zip(range(5), range(5)), default=1)\n\n class Meta:\n verbose_name_plural = \"Businesses\"\n\n def __unicode__(self):\n return self.name\n\n\n class Department(models.Model):\n\n name = models.CharField(max_length=255)\n business = models.ForeignKey(Business)\n\n def __unicode__(self):\n return self.name\n\n\n class Position(models.Model):\n\n name = models.CharField(max_length=255)\n\n def __unicode__(self):\n return self.name\n\n\n class AbstractGeneric(models.Model):\n\n name = models.CharField(max_length=255)\n description = models.TextField()\n\n staff = generic.GenericRelation(\n \"Staff\",\n content_type_field=\"content_type\",\n object_id_field=\"object_id\",\n )\n\n class Meta:\n abstract = True\n\n\n class GenericModelA(AbstractGeneric):\n\n class Meta:\n verbose_name_plural = \"Generic Model A's\"\n\n def __unicode__(self):\n return self.name\n\n\n class GenericModelB(AbstractGeneric):\n\n class Meta:\n verbose_name_plural = \"Generic Model B's\"\n\n def __unicode__(self):\n return self.name\n\n\n class Staff(models.Model):\n\n first_name = models.CharField(max_length=255, help_text=_(\"Enter the name of the staff being rounded\"))\n last_name = models.CharField(max_length=255, help_text=_(\"Enter the name of the staff being rounded\"))\n active = models.CharField(max_length=10, choices=ACTIVE_CHOICES)\n\n position = models.ForeignKey(Position)\n department = models.ForeignKey(Department)\n\n limit = models.Q(app_label='staff', model='genericmodela') | models.Q(app_label='staff', model='genericmodelb')\n content_type = models.ForeignKey(ContentType, limit_choices_to=limit)\n object_id = models.PositiveIntegerField()\n generic_object = generic.GenericForeignKey(\"content_type\", \"object_id\")\n\n class Meta:\n verbose_name_plural = \"staff\"\n ordering = (\"last_name\", \"first_name\",)\n\n def name(self):\n return \"%s, %s\" % (self.last_name, self.first_name)\n\n def status(self):\n return ACTIVE_CHOICES_DISPLAY[self.active]\n\n def __unicode__(self):\n return self.name()\n\nviews.py\n--------\n\n::\n\n class StaffList(BaseListableView):\n\n model = models.Staff\n\n fields = (\n \"id\",\n \"name\",\n \"active\",\n \"department__name\",\n \"position__name\",\n \"department__business__name\",\n \"department__business__business_type\",\n \"genericname\",\n )\n\n widgets = {\n \"department__business__name\": SELECT,\n \"department__business__business_type\": SELECT,\n \"position__name\": SELECT,\n \"choices\": SELECT,\n \"active\": SELECT,\n }\n\n search_fields = {\n \"name\": (\"first_name__icontains\", \"last_name__icontains\",),\n \"last_name\": \"last_name__exact\",\n \"genericname\": \"genericname__icontains\",\n \"department__name\": \"department__name__icontains\",\n }\n\n order_fields = {\n \"name\": (\"last_name\", \"first_name\",),\n }\n\n headers = {\n \"position__name\": _(\"Position\"),\n \"department__business__name\": _(\"Business\"),\n \"department__business__business_type\": _(\"Business Type\"),\n }\n\n select_related = (\"department\", \"position\", \"department__business\",)\n\n def generic(self, obj):\n return obj.generic_object.name\n\n def name(self, staff):\n return staff.name()\n\n def get_extra(self):\n cta = ContentType.objects.get_for_model(models.GenericModelA)\n ctb = ContentType.objects.get_for_model(models.GenericModelB)\n\n extraq = \"\"\"\n CASE\n WHEN content_type_id = {0}\n THEN (SELECT name from staff_genericmodela WHERE object_id = staff_genericmodela.id)\n WHEN content_type_id = {1}\n THEN (SELECT name from staff_genericmodelb WHERE object_id = staff_genericmodelb.id)\n END\n \"\"\".format(cta.pk, ctb.pk)\n\n return {\"select\": {'genericname': extraq}}\n\n\nstaff_list.html\n---------------\n\n::\n\n {% extends 'base.html' %}\n\n {% load listable %}\n\n {% block extra_css %}\n {% listable_css %}\n {% endblock extra_css %}\n\n {% block content %}\n {{listable_table}}\n {% endblock %}\n\n {% block extra_js %}\n {% listable 'staff-list' save_state=True %}\n {% endblock extra_js %}\n\n\n\n\n\nHistory\n-------\n\n=======\n0.4.3 (2017-05-11)\n++++++++++++++++++\nFix values_to_dt to allow unicode\n\n\n=======\n0.4.1 (2016-10-14)\n++++++++++++++++++\nAdd fix for when using FORCE_SCRIPT_NAME setting\n\n=======\n0.4.0 (2016-10-02)\n++++++++++++++++++\nUpdate to support Django 1.8-1.10 and Python 2.7-3.5\n\n=======\n0.3.9 (2016-09-27)\n++++++++++++++++++\nFix formatting bug introduced by 0.3.8\n\n0.3.8 (2016-09-27)\n++++++++++++++++++\nFix unicode encoding error\n\n0.3.7 (2016-08-25)\n++++++++++++++++++\nAdd date range picker\n\n0.3.6 (2016-06-29)\n++++++++++++++++++\nAdd multi select and date select widgets (thanks to @ryanbottema)\n\n0.3.5 (2016-06-22)\n++++++++++++++++++\nFix filtering and count queries for django-mssql\n\n0.3.3 (2015-04-12)\n++++++++++++++++++\n* Fix filtering of None values for SELECT fields\n\n0.3.1 (2015-02-25)\n++++++++++++++++++\n* Fix issue with boolean field filtering\n\n0.2.10 (2014-12-16)\n++++++++++++++++++\n* Fix issue with pagination type\n\n0.2.9 (2014-12-15)\n++++++++++++++++++\n* Fix issue with namespaced urls\n\n0.2.6 (2014-10-30)\n++++++++++++++++++\n* add view args & kwargs to context to allow full reverse\n\n0.2.5 (2014-10-30)\n++++++++++++++++++\n* fix order_by\n\n0.2.0 (2014-10-29)\n++++++++++++++++++\n* Complete overhaul of api\n\n0.1.2 (2014-07-09)\n++++++++++++++++++\n* Fix saveState bug\n\n0.1.0 (2013-08-15)\n++++++++++++++++++\n\n* First release on PyPI.",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/randlet/django-listable",
"keywords": "django-listable",
"license": "BSD",
"maintainer": null,
"maintainer_email": null,
"name": "django-listable",
"package_url": "https://pypi.org/project/django-listable/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/django-listable/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/randlet/django-listable"
},
"release_url": "https://pypi.org/project/django-listable/0.4.3/",
"requires_dist": null,
"requires_python": null,
"summary": "A reusable Django app to make integrations with the DataTables javascript library easy.",
"version": "0.4.3"
},
"last_serial": 2868516,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "96abef7cf92793479e5f0a15491be7d7",
"sha256": "acb2f53fac74edf660c3eb591b82128b3a68391853900559dad9bc7ebd66cc2d"
},
"downloads": -1,
"filename": "django-listable-0.1.0.zip",
"has_sig": false,
"md5_digest": "96abef7cf92793479e5f0a15491be7d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 258383,
"upload_time": "2014-03-04T17:23:16",
"url": "https://files.pythonhosted.org/packages/b0/e3/de097f9765fd1bf3b33a28e4d1ff67da5e8513b6d1890d4cadfb4b033ead/django-listable-0.1.0.zip"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "325cb1eaebc1f8a886100ef0245e9b52",
"sha256": "08b0b0539536b9942435c7e538c8455c39f936f4a28188c19b0a619d9341d76b"
},
"downloads": -1,
"filename": "django-listable-0.1.3.zip",
"has_sig": false,
"md5_digest": "325cb1eaebc1f8a886100ef0245e9b52",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 260556,
"upload_time": "2014-09-10T19:39:18",
"url": "https://files.pythonhosted.org/packages/37/88/7f27d180747a240fab1d7bbbc853aa082c466b9e1bab5aae4d61c1626a97/django-listable-0.1.3.zip"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "1cd6225786af5f6cf80246171d1f5b7f",
"sha256": "d21270b756ea480e3faadbe3b28a0041a6a40235889b49f17d757d2c18e8c1a0"
},
"downloads": -1,
"filename": "django-listable-0.1.4.zip",
"has_sig": false,
"md5_digest": "1cd6225786af5f6cf80246171d1f5b7f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 260571,
"upload_time": "2014-09-10T20:02:44",
"url": "https://files.pythonhosted.org/packages/f4/09/0dbd40e65bdd3e6169528ad9fab77a9c82fe59c3444df57d6a8714f66d2f/django-listable-0.1.4.zip"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "ea81b3d768e78665f85373367397c325",
"sha256": "115a656739896e3fc08332af391abebcf6c86e474c5f4f8dd28ef8f5a0bf5206"
},
"downloads": -1,
"filename": "django-listable-0.2.1.zip",
"has_sig": false,
"md5_digest": "ea81b3d768e78665f85373367397c325",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 193061,
"upload_time": "2014-10-29T17:18:43",
"url": "https://files.pythonhosted.org/packages/df/0f/d853fe7010e5fc53ababdbf5d0c8daf820d3d920979a855766a098ceb56b/django-listable-0.2.1.zip"
}
],
"0.2.10": [
{
"comment_text": "",
"digests": {
"md5": "5ee7b3ef217c9f39181a4b2ea3facde5",
"sha256": "66825e2b6c9f09f1239d2dd0ce082d720f72dab516c628583032126fd7dfd639"
},
"downloads": -1,
"filename": "django-listable-0.2.10.zip",
"has_sig": false,
"md5_digest": "5ee7b3ef217c9f39181a4b2ea3facde5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 205039,
"upload_time": "2014-12-16T15:21:39",
"url": "https://files.pythonhosted.org/packages/20/82/c98279f3fb5b45342c26dbd7d55d02fe1fcd572d006b938a9df38f55c5ff/django-listable-0.2.10.zip"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "adb7788eda3e6a21b0cacf43e38feb7d",
"sha256": "14e2afd4ec1ca79210db119936a0b4a784f48e821542e4841d996607ca70926e"
},
"downloads": -1,
"filename": "django-listable-0.2.2.zip",
"has_sig": false,
"md5_digest": "adb7788eda3e6a21b0cacf43e38feb7d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 204062,
"upload_time": "2014-10-29T19:30:35",
"url": "https://files.pythonhosted.org/packages/75/ba/47edd4828287ff28e6de28adb81248c8f2876cb61df59bae944abf8e1097/django-listable-0.2.2.zip"
}
],
"0.2.3": [
{
"comment_text": "",
"digests": {
"md5": "826e33d03a399728b5e653ba98414c37",
"sha256": "204a5a711792ba15ee3ead1b147da86b26f08174e72f134e536417215f887755"
},
"downloads": -1,
"filename": "django-listable-0.2.3.zip",
"has_sig": false,
"md5_digest": "826e33d03a399728b5e653ba98414c37",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 204062,
"upload_time": "2014-10-29T19:50:15",
"url": "https://files.pythonhosted.org/packages/17/2e/79f6a15da002a85c3f8084a48a2d474aac011bbc9e58f38fa33df08cbdf9/django-listable-0.2.3.zip"
}
],
"0.2.4": [
{
"comment_text": "",
"digests": {
"md5": "d851bd61e8ca77b5e16a8810b20e53f7",
"sha256": "fec6b635081a1eabbf28e55c99444f9c79beb8025d87009cce927cf936795d45"
},
"downloads": -1,
"filename": "django-listable-0.2.4.zip",
"has_sig": false,
"md5_digest": "d851bd61e8ca77b5e16a8810b20e53f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 204504,
"upload_time": "2014-10-30T18:34:17",
"url": "https://files.pythonhosted.org/packages/30/27/717baaaa3cf3989e2e5a59a555a44b02128933260ee9ae29beebfd292ed5/django-listable-0.2.4.zip"
}
],
"0.2.5": [
{
"comment_text": "",
"digests": {
"md5": "d5593267d5d945a0b9ea3cb00a74e1d8",
"sha256": "f4a0ac6a1900050873f1255a25e2f79278b5d3c50516f977dbead31212be8c82"
},
"downloads": -1,
"filename": "django-listable-0.2.5.zip",
"has_sig": false,
"md5_digest": "d5593267d5d945a0b9ea3cb00a74e1d8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 204440,
"upload_time": "2014-10-30T19:02:04",
"url": "https://files.pythonhosted.org/packages/cb/07/5463abce40a818d8b8ef43ce67ed457f9a648b559949ef7b2fe6f35874e6/django-listable-0.2.5.zip"
}
],
"0.2.6": [
{
"comment_text": "",
"digests": {
"md5": "36e383c061152067c4e88216d2501376",
"sha256": "2a9d2578ea779491167ec049d08fe2f1795280b469e6ab422caff388882caccd"
},
"downloads": -1,
"filename": "django-listable-0.2.6.zip",
"has_sig": false,
"md5_digest": "36e383c061152067c4e88216d2501376",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 270733,
"upload_time": "2014-10-31T01:53:54",
"url": "https://files.pythonhosted.org/packages/8c/97/20037b4d7f35a4d16fd3f076b24b594a421277231734f22aea17c000d380/django-listable-0.2.6.zip"
}
],
"0.2.7": [
{
"comment_text": "",
"digests": {
"md5": "0bb0774cf6ee4517ac650de245b7ae9a",
"sha256": "24f0929098bda5734d3ea8de99fa169cdd1f23a3f3e297bf9d3d6f69f98f5c71"
},
"downloads": -1,
"filename": "django-listable-0.2.7.zip",
"has_sig": false,
"md5_digest": "0bb0774cf6ee4517ac650de245b7ae9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 270756,
"upload_time": "2014-10-31T02:04:06",
"url": "https://files.pythonhosted.org/packages/24/3a/74563f22b60edbad7a7dda5cbf9965793f6ccd8fb89fb3d13654722dd571/django-listable-0.2.7.zip"
}
],
"0.2.8": [
{
"comment_text": "",
"digests": {
"md5": "483bf0b88d32db1560dad1d3db7857d5",
"sha256": "a961b62652b97060dd88449df115ea8546991e8ca6435aaad4caea849ed0455e"
},
"downloads": -1,
"filename": "django-listable-0.2.8.zip",
"has_sig": false,
"md5_digest": "483bf0b88d32db1560dad1d3db7857d5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 270756,
"upload_time": "2014-10-31T02:05:14",
"url": "https://files.pythonhosted.org/packages/e0/f7/4f49a90592d3cf3d106a7d6681c26ed5166d59decaae99ea2769109e7b45/django-listable-0.2.8.zip"
}
],
"0.2.9": [
{
"comment_text": "",
"digests": {
"md5": "e3b963e4e492648cf2ea69c7c35602a5",
"sha256": "b9a15d3a788a32c3d955a4fef14b5c9168a00b589f827879b481b6e0fb7768bc"
},
"downloads": -1,
"filename": "django-listable-0.2.9.zip",
"has_sig": false,
"md5_digest": "e3b963e4e492648cf2ea69c7c35602a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 204897,
"upload_time": "2014-12-16T01:54:55",
"url": "https://files.pythonhosted.org/packages/bd/8e/7b0190bd6cea8741268530ca3f054f196e34a889acf990cdb09e85375f7c/django-listable-0.2.9.zip"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "f9ed367beea78a2df760096bfed8c420",
"sha256": "b95793fa817ff87d24b4148b808e3572f86617cf7a0216e4ae8e25d67c5516cb"
},
"downloads": -1,
"filename": "django-listable-0.3.0.zip",
"has_sig": false,
"md5_digest": "f9ed367beea78a2df760096bfed8c420",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 205095,
"upload_time": "2014-12-17T02:32:46",
"url": "https://files.pythonhosted.org/packages/1c/09/889617781bee34959fc79efa9d00627ce7c60c96e1b8a66f60fad951ebfe/django-listable-0.3.0.zip"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "9263d41c101dc0025417e27e3ae5ea5d",
"sha256": "fe580516f401470d8404e02f06e2138c5a66f34120b8dfaab6304c85228e3866"
},
"downloads": -1,
"filename": "django-listable-0.3.1.zip",
"has_sig": false,
"md5_digest": "9263d41c101dc0025417e27e3ae5ea5d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 205095,
"upload_time": "2015-02-25T22:03:56",
"url": "https://files.pythonhosted.org/packages/7d/8c/278b43c054e064df51a51d61bd343ec2bc4eb7e8b16e0299152459248a4c/django-listable-0.3.1.zip"
}
],
"0.3.10": [
{
"comment_text": "",
"digests": {
"md5": "2a87ce6ebf181c0685ee27bad8f80b8e",
"sha256": "4af4972cd08fd6b1e073fd03ee8f778f1ab441a6439ad367dccb62959d482102"
},
"downloads": -1,
"filename": "django-listable-0.3.10.tar.gz",
"has_sig": false,
"md5_digest": "2a87ce6ebf181c0685ee27bad8f80b8e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 393072,
"upload_time": "2016-11-08T14:34:23",
"url": "https://files.pythonhosted.org/packages/3e/ab/41c93c11fd6353d5ef9c2f42d7d437509d3da8acab786d110797e2e9d2bd/django-listable-0.3.10.tar.gz"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "457879e83aca05854386d0330e7afcd5",
"sha256": "bdea874e57ccd70a42ed204c38b61873dba26a6b5f73faf393c3958518c3bb11"
},
"downloads": -1,
"filename": "django-listable-0.3.2.zip",
"has_sig": false,
"md5_digest": "457879e83aca05854386d0330e7afcd5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 272035,
"upload_time": "2016-02-20T04:09:57",
"url": "https://files.pythonhosted.org/packages/cb/13/e6435681410e367976c888d0b56a41e0649b86eafcaa8760bbcaba61255f/django-listable-0.3.2.zip"
}
],
"0.3.3": [
{
"comment_text": "",
"digests": {
"md5": "3b72aa706c5372e5a315293d0fd2812f",
"sha256": "dcdb420bbbfeec1615c73597facaf9cb61a2ef243cf353d23ac3c87521ab79cb"
},
"downloads": -1,
"filename": "django-listable-0.3.3.zip",
"has_sig": false,
"md5_digest": "3b72aa706c5372e5a315293d0fd2812f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 272225,
"upload_time": "2016-04-13T02:55:44",
"url": "https://files.pythonhosted.org/packages/44/92/84575199d86a8c4eae3c10dee3706c8f862727d42986ec287c240a1352b1/django-listable-0.3.3.zip"
}
],
"0.3.4": [
{
"comment_text": "",
"digests": {
"md5": "fb768eca4c913a872ba72b13abedd161",
"sha256": "7f72cebde0c58201e538fec9893cb91a72a8ba9700b6dd1db960f9b003c226b9"
},
"downloads": -1,
"filename": "django-listable-0.3.4.zip",
"has_sig": false,
"md5_digest": "fb768eca4c913a872ba72b13abedd161",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 272214,
"upload_time": "2016-06-01T01:43:58",
"url": "https://files.pythonhosted.org/packages/ec/b8/6da964af1b2b06a3fe8949dec902d3f39d5b0bdd31df8a044acfaf9d5a02/django-listable-0.3.4.zip"
}
],
"0.3.5": [
{
"comment_text": "",
"digests": {
"md5": "7a255b6bae44476b572128b843ca24ba",
"sha256": "1cf888bf9b46906e9980255836fcecab75282172665a0773895618367c7dfcbf"
},
"downloads": -1,
"filename": "django-listable-0.3.5.zip",
"has_sig": false,
"md5_digest": "7a255b6bae44476b572128b843ca24ba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 273018,
"upload_time": "2016-06-23T02:40:07",
"url": "https://files.pythonhosted.org/packages/ad/69/b594f62277d267adfd396839916efc86496d7f61b86088dcab6a5a7acf8d/django-listable-0.3.5.zip"
}
],
"0.3.6": [
{
"comment_text": "",
"digests": {
"md5": "f17fe24300e1710c58ab43c67f246db7",
"sha256": "52284dd2a92f2bb3cb032b3c52bba87d82eefcebbecc2ab4eee4bbc87763ab8f"
},
"downloads": -1,
"filename": "django-listable-0.3.6.zip",
"has_sig": false,
"md5_digest": "f17fe24300e1710c58ab43c67f246db7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 301203,
"upload_time": "2016-06-30T12:38:40",
"url": "https://files.pythonhosted.org/packages/4e/fd/63666e369c66072e475aa4df51589c2f333dfb0acafe58adc90924c18bfd/django-listable-0.3.6.zip"
}
],
"0.3.7": [
{
"comment_text": "",
"digests": {
"md5": "590e38174f025ca80fb938f10b37e16b",
"sha256": "6be5b3801e801bfb9ff5d90c9366371b67fc698211ca637298c879faad9d2fda"
},
"downloads": -1,
"filename": "django-listable-0.3.7.zip",
"has_sig": false,
"md5_digest": "590e38174f025ca80fb938f10b37e16b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 489544,
"upload_time": "2016-08-05T18:59:58",
"url": "https://files.pythonhosted.org/packages/46/5a/73590cc2f51064600c4aa77b656d59e5d8aea0d646e1ba667c2db3ea45be/django-listable-0.3.7.zip"
}
],
"0.3.8": [
{
"comment_text": "",
"digests": {
"md5": "af029e2d0eda28e3a51b370fe513969a",
"sha256": "153fe9d76f20850752decd12b72723f6d1a803b2b3fae1457deec96b7bab7147"
},
"downloads": -1,
"filename": "django-listable-0.3.8.tar.gz",
"has_sig": false,
"md5_digest": "af029e2d0eda28e3a51b370fe513969a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 392850,
"upload_time": "2016-09-27T13:35:49",
"url": "https://files.pythonhosted.org/packages/51/e3/f9ca2acbdea3977fec66db9bf6756712569e1991af0926b5f78ae09a4d83/django-listable-0.3.8.tar.gz"
}
],
"0.3.9": [
{
"comment_text": "",
"digests": {
"md5": "1a53e86895fdae21143cda81fedbda00",
"sha256": "ad50f6b91118301afe633480151c9a7de2ff3640b71d92c8e7ab3796a7123a35"
},
"downloads": -1,
"filename": "django-listable-0.3.9.tar.gz",
"has_sig": false,
"md5_digest": "1a53e86895fdae21143cda81fedbda00",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 392905,
"upload_time": "2016-09-27T14:36:52",
"url": "https://files.pythonhosted.org/packages/85/89/deeb33c1bc8fb79dbd6885b3e93d15a5a30e3674fdac302556e3b20e4f2d/django-listable-0.3.9.tar.gz"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "b540fe187ebcbbd300fe3ad12fb5c336",
"sha256": "5a485e2d49e64c2748767174b1fe093a843885e24a05721d84a458b6b15496ed"
},
"downloads": -1,
"filename": "django-listable-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "b540fe187ebcbbd300fe3ad12fb5c336",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 457542,
"upload_time": "2016-10-03T01:41:25",
"url": "https://files.pythonhosted.org/packages/c0/99/e7e39211a55403b971f6bd0d6dca2f28f46ceef39d72b1ec1b2a71457281/django-listable-0.4.0.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "370989722d0b3677f9f257ac63f27b95",
"sha256": "df81893699b4b3db9929f94c52d908518c3443f7c97c223d61b93738688abae0"
},
"downloads": -1,
"filename": "django-listable-0.4.1.zip",
"has_sig": false,
"md5_digest": "370989722d0b3677f9f257ac63f27b95",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 490034,
"upload_time": "2016-10-14T18:59:35",
"url": "https://files.pythonhosted.org/packages/12/a6/98cf02fdbccdb4fb3d0af4d2b2c9cf581f7670c2ee675a91a5606555f78a/django-listable-0.4.1.zip"
}
],
"0.4.2": [
{
"comment_text": "",
"digests": {
"md5": "b0e26b01f37c51c62295d5fde31e33e6",
"sha256": "2487893de3743efb2dd56025d4d7e2843d44017c9886b819c7f09f323f71966c"
},
"downloads": -1,
"filename": "django-listable-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "b0e26b01f37c51c62295d5fde31e33e6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 396302,
"upload_time": "2017-02-17T02:50:27",
"url": "https://files.pythonhosted.org/packages/3d/00/77a3dad51423531c9511105f4780830d5f54db0b14b6c6028930a32eaf6f/django-listable-0.4.2.tar.gz"
}
],
"0.4.3": [
{
"comment_text": "",
"digests": {
"md5": "94dd2f0f364c363a56c0f6592412c9f7",
"sha256": "103635805ef316e49d84c940a56ded02f4e07036c7052ec2ce85e6cbd79f8ef1"
},
"downloads": -1,
"filename": "django-listable-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "94dd2f0f364c363a56c0f6592412c9f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 396535,
"upload_time": "2017-05-12T02:35:04",
"url": "https://files.pythonhosted.org/packages/43/5c/651c555b8d212cbeabf952da1d4e1f19ddb6236ccd991a739a2587314615/django-listable-0.4.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "94dd2f0f364c363a56c0f6592412c9f7",
"sha256": "103635805ef316e49d84c940a56ded02f4e07036c7052ec2ce85e6cbd79f8ef1"
},
"downloads": -1,
"filename": "django-listable-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "94dd2f0f364c363a56c0f6592412c9f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 396535,
"upload_time": "2017-05-12T02:35:04",
"url": "https://files.pythonhosted.org/packages/43/5c/651c555b8d212cbeabf952da1d4e1f19ddb6236ccd991a739a2587314615/django-listable-0.4.3.tar.gz"
}
]
}