Cómo vincular el modelo de dirección a las vistas.

Estoy tratando de crear un formulario de dirección con varias direcciones, donde el usuario puede elegir la dirección de inicio o de envío. Tengo el modelo actual:

from django.db import models from django.contrib.auth.models import User from PIL import Image class Address(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60, default="Miami") state = models.CharField(max_length=30, default="Florida") zipcode = models.CharField(max_length=5, default="33165") country = models.CharField(max_length=50) class Meta: verbose_name = 'Address' verbose_name_plural = 'Address' def __str__(self): return self.name 

Así que me preguntaba si eso es correcto.

De todos modos, me preguntaba cómo con el modelo actual puedo crear una vista para tener la forma de la dirección. Usar un modelo normal sería “fácil”, pero ¿cómo puedo hacerlo usando la opción a través del modelo?

¿Podría alguien echarme una mano por favor?

Gracias

use una clave externa para indicar su modelo de dirección:

 class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) nick_name = models.CharField('Nick name', max_length=30, blank=True, default='') bio = models.TextField(max_length=500, blank=True) image = models.ImageField(default='default.jpg', upload_to='profile_pics') addresses = models.ForeignKey(Address) # <-- fix here 

¡Espero que esto ayude!

Debe declarar ForeignKey con '.' formato '.' :

 class AddressType(models.Model): address = models.ForeignKey('yourapp.Address', on_delete=models.CASCADE) profile = models.ForeignKey('yourapp.Profile', on_delete=models.CASCADE) 

o directamente dar la clase:

  address = models.ForeignKey(Address, on_delete=models.CASCADE) profile = models.ForeignKey(Profile, on_delete=models.CASCADE) 

Ambas respuestas fueron incorrectas, terminé modificando todo y creando un nuevo modelo, aquí está:

 class Address(models.Model): name = models.CharField(max_length=100, blank=False) address1 = models.CharField("Address lines 1", max_length=128) address2 = models.CharField("Address lines 2", max_length=128, blank=True) city = models.CharField("City", max_length=64) # state = USStateField("State", default='FL') state = models.CharField("State", max_length=128, default='FL') zipcode = models.CharField("Zipcode", max_length=5) user = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=False) class Meta: verbose_name_plural = 'Address' def __str__(self): return self.name