que tienen algo como esto en models.py¿Importa el orden de la declaración en models.py (Django/Python)?
class ZipCode(models.Model):
zip = models.CharField(max_length=20)
cities = City.objects.filter(zip=self).distinct()
class City(models.Model):
name = models.CharField(max_length=50)
slug = models.CharField(max_length=50)
state = models.ForeignKey(State)
zip = models.ManyToManyField(ZipCode)
Cuando hago esto me sale:
NameError: name 'City' is not defined
Es esto porque el orden de los asuntos de declaración? Y si es así, ¿cómo puedo hacer esto? Porque de cualquier forma que lo organice, parece que obtendré un NameError.
Gracias.
Hola Shane, tu sugerencia parece implicar que un código postal puede estar asociado con una sola ciudad, pero pensé que los códigos postales pueden pertenecer a más de una ciudad y una ciudad puede tener múltiples códigos postales. ¿No es ese el caso? – rick
No, puede tener relaciones de muchos a uno, pero no estoy familiarizado con la sintaxis que ha utilizado aquí. De acuerdo con el enlace que proporcioné arriba: "Para definir una relación muchos a uno, use ForeignKey()" –
Muchos a uno y muchos a muchos son dos relaciones diferentes, Shane. En este caso, de muchos a muchos probablemente sea más apropiado como un código postal único que puede representar varias ciudades (pensando internacionalmente). Eso es además del punto sin embargo. Declarar una relación binaria en ambas direcciones es a la vez una mala idea y redundante. – ozan