Necesito modelar una dirección postal que puede tener la dirección de varias líneas, la ciudad, el estado (provincia) y el código postal. el país está omitidocómo modelar una dirección postal
Necesito preservar los saltos de línea en las direcciones pero todavía puedo buscar las direcciones.
Veo dos maneras de hacerlo:
class Address(models.Model):
street = models.ForeignKey('StreetAddress')
city = models.TextField()
province = models.TextField()
code = models.TextField()
class StreetAddress(models.Model):
line_number = models.IntegerField()
text = models.TextField()
o este otro que almacena la dirección de la calle en un solo campo de texto sino que utiliza caracteres especiales de separación para codificar los saltos de línea:
class Address(models.Model):
street = models.TextField()
city = models.TextField()
province = models.TextField()
code = models.TextField()
¿cuál es la mejor manera de hacerlo en términos de legibilidad y eficiencia del código (o su equilibrio)?
Desde Django 1.4, localflavor ya no se incluye con Django. Entonces, para usar este código uno debe instalarlo a mano: 'pip install django_localflavor_us' e importar USStateField de la siguiente manera:' from django_localflavor_us.models import USStateField'. – Altaisoft
¿Cómo podríamos modelar cualquier dirección en general y no solo una dirección de EE. UU.? –
El consejo que dio @Altaisoft no está actualizado. Desde esa página de pypi: "Advertencia: paquete obsoleto No debe usar este paquete por más tiempo. El anterior paquete django.contrib.localflavor ahora está disponible como el paquete https://pypi.python.org/pypi/django-localflavor, incluyendo el sabor local de los Estados Unidos ". Así que el equivalente ahora es 'pip install django-localflavor' &' de localflavor.models import USStateField' –