unique_together jsonfield example documentacion choices django performance postgresql url django-models

jsonfield - documentacion de django



Ventajas de usar URLField sobre TextField? (3)

Prueba esta clase:

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)

Según tengo entendido, siempre debes usar un TextField para una cadena de longitud variable cuando usas una base de datos PostgreSQL porque la diferencia de velocidad entre un TextField y un CharField es insignificante con PostgreSQL. Soy relativamente nuevo en Django, y estaba considerando usar un TextField para URL de longitud variable en mi base de datos. Me preguntaba si hay ventajas con el uso de URLField . ¿Se consideraría una mala forma usar un TextField lugar de un URLField para las URL?


URLField es realmente CharField con soporte de la comprobación de patrones de URL basada en Regexp y un validador en línea (que fue reemplazado por un validador basado en RegEx), puede usar TextField si no le importa la limitación de longitud de URL

from django.core.validators import URLValidator # in model field = models.TextField(validators=[URLValidator()])

Además, el uso de CharField o TextField depende de si se desea una restricción de longitud máxima en el campo y qué tipo de elemento es más adecuado para la edición: textarea o input. En el lado de PostgreSQL, no hay una diferencia significativa.


https://docs.djangoproject.com/en/dev/ref/models/fields/#urlfield Por supuesto, puedes usar CharField / TextField pero manejando la entrada del usuario y asegúrate de que todo lo que el usuario ingrese depende de ti.

Desde el código fuente:

# Al igual que con CharField, esto hará que la validación de URL se realice

Si ve el código fuente de URLField , verá que en realidad es un CharField con validador de URL.

También hay otros campos listos para usar como EmailField, ImageField, * Field!