Login

StringField: CharField with no max_length for Postgres

Author:
cdcarter
Posted:
May 5, 2019
Language:
Python
Version:
2.1
Tags:
orm postgres charfield
Score:
0 (after 0 ratings)

Django's CharField requires a max_length, and TextField displays a multi- line widget, but in Postgres there's no reason to add an arbitrary max thanks to the varlena storage format. So this is a TextField that displays as a single line instead of a multiline TextArea.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
class StringField(models.TextField):
    """ A simple unlimited length string field. 
    
    Django's CharField requires a max_length, and TextField displays a multi-
    line widget, but in Postgres there's no reason to add an arbitrary max
    thanks to the `varlena` storage format. So this is a TextField that 
    displays as a single line instead of a multiline TextArea.

    That's all."""

    def formfield(self, **kwargs):
        # skip TextField's override of models.Field.formfield
        return models.Field.formfield(self, **kwargs)

More like this

Comments

Please login first before commenting.