Skip to main content

A Django app which adds a ShortTextField model field, whichis like a TextField in the database and like a CharField informs.

Project description

Short Text Field for Django

A very simple Django app that adds a ShortTextField model field class, which is treated like a TextField in the database (i.e. the data is stored in the database with the text rather than the varchar type, and the developer does not need to specify a max_length), but like a CharField in forms (i.e. it uses a single-line input). This is ideal for PostgreSQL, which recommends the 'text' type in a wider variety of circumstances than other commonly-used database backends (see the [PostgreSQL docs] (https://www.postgresql.org/docs/9.1/static/datatype-character.html)).

Usage

  1. Add 'short_text_field' to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
          'short_text_field',
    ]
    
  2. Add a ShortTextField to a model like this:

    from short_text_field.models import ShortTextField
    
    ...
    
      class ExampleModel(models.Model):
            ...
            example_field = ShortTextField
    
  3. A model with a ShortTextField should be registered in the admin site using short_text_field.admin.ModelAdmin.

    admin.site.register(ExampleModel, short_text_field.admin.ModelAdmin)
    

    A subclass of this class will also work:

    class ExampleModelAdmin(short_text_field.admin.ModelAdmin):
        model = ExampleModel
        ...
    
    admin.site.register(ExampleModel, ExampleModelAdmin)
    

    If you have a hierarchy of ModelAdmin subclasses, you can still incorporate short_text_field.admin.ModelAdmin easily as a mixin:

    class ExampleModelAdmin2(short_text_field.admin.ModelAdmin, ExampleModelAdmin1):
        model = ExampleModel
        ...
    
    admin.site.register(ExampleModel, ExampleModelAdmin)
    

    You can also use a subclass of short_text_field.admin.AdminSite for the site, which will make short_text_field.admin.ModelAdmin the default ModelAdmin subclass to use for registering. In the simplest case, you can just set the default_site attribute of the AdminConfig class and then register all of your models in the normal way:

    from django.contrib.admin import apps
    import short_text_field.admin.AdminSite
    
    ...
    
    class ExampleAdminConfig(apps.AdminConfig):
        ...
        default_site = short_text_field.admin.AdminSite
    

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-short-text-field-0.2.tar.gz (3.7 kB view hashes)

Uploaded source

Built Distribution

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