As I understand it you should always use a TextField for a variable length string when your using a PostgreSQL database because the speed difference between a
Try this class:
class LongURLField(TextField):
description = 'Long URL'
def __init__(self, verbose_name=None, name=None, **kwargs):
TextField.__init__(self, verbose_name, name, **kwargs)
self.validators.append(validators.URLValidator())
def formfield(self, **kwargs):
# As with TextField, this will cause URL validation to be performed
# twice.
defaults = {
'form_class': forms.URLField,
}
defaults.update(kwargs)
return super(LongURLField, self).formfield(**defaults)