Pakistan (pk)


Pakistani-specific Form helpers.

class*args, **kwargs)[source]

Pakistani post code field.

Assumed to be 5 digits.


A Select widget that uses a list of Pakistani states/territories as its choices.


class*args, **kwargs)[source]

A model field that stores the five-digit Pakistani postcode in the database

Forms represent it as a PKPostCodeField field.

description = 'Pakistani Postcode'

Return a django.forms.Field instance for this field.

class*args, **kwargs)[source]

A model field that stores the five-letter Pakistani state abbreviation in the database.

It is represented with STATE_CHOICES` choices.


Return enough information to recreate the field as a 4-tuple:

  • The name of the field on the model, if contribute_to_class() has been run.
  • The import path of the field, including the class:e.g. django.db.models.IntegerField This should be the most portable version, so less specific may be better.
  • A list of positional arguments.
  • A dict of keyword arguments.

Note that the positional or keyword arguments must contain values of the following types (including inner values of collection types):

  • None, bool, str, int, float, complex, set, frozenset, list, tuple, dict
  • UUID
  • datetime.datetime (naive),
  • top-level classes, top-level functions - will be referenced by their full import path
  • Storage instances - these have their own deconstruct() method

This is because the values here must be serialized into a text format (possibly new Python code, possibly JSON) and these are the only types with encoding handlers defined.

There’s no need to return the exact way the field was instantiated this time, just ensure that the resulting field is the same - prefer keyword arguments over positional ones, and omit parameters with their default values.

description = 'Pakistani State'

Data = (('PK-JK', 'Azad Jammu & Kashmir'), ('PK-BA', 'Balochistan'), ('PK-TA', 'Federally Administered Tribal Areas'), ('PK-GB', 'Gilgit-Baltistan'), ('PK-IS', 'Islamabad'), ('PK-KP', 'Khyber Pakhtunkhwa'), ('PK-PB', 'Punjab'), ('PK-SD', 'Sindh'))

tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable’s items

If the argument is a tuple, the return value is the same object.