URLField est en fait CharField avec prise en charge de la vérification de modèle d'URL basée sur Regexp et d'un validateur en ligne (qui a été remplacé par un validateur basé sur RegEx), vous pouvez utiliser TextField si vous ne vous souciez pas de la limitation de longueur de l'URL
from django.core.validators import URLValidator
# in model
field = models.TextField(validators=[URLValidator()])
De plus, l'utilisation de CharField ou TextField dépend de si vous voulez une contrainte de longueur maximale sur le champ et du type d'élément le plus adapté à l'édition :textarea ou input. Côté PostgreSQL, il n'y a pas de différence significative.