У меня есть 3 модели Django классы:
1. Заказчик - содержит несколько биллинг и адреса доставки
2. Адрес - может быть биллинг или адрес груза
3. Порядок - содержат ссылка на 1 клиента, 1 платежный адрес и 1 адрес доставки, выбранный клиентом.
Django модели отношений
Как создать класс Order, который будет отображаться на странице администратора, чтобы пользователи могли выбирать, какой адрес доставки использовать?
Класс Address имеет свойство, называемое именем, так что пользователь может назначать короткие имена, такие как «HQ» или «NY Branch». Я хочу, чтобы пользователи могли выбирать адрес доставки из раскрывающегося списка, используя короткие имена. Я медленный нуб.
UPDATE
КОД
Модель заказа:
class Order(models.Model):
customer = models.ForeignKey(Customer)
shipping_address = models.CharField(max_length=80)// Should be a drop list based on the customer above
...
модель Заказчик:
class Customer(models.Model)
name = models.CharField(max_length=80)
username = models.CharField(max_length=12)
password = models.CharField(max_length=12)
...
def __unicode__(self):
return self.name
Модель адреса:
class Address(models.Model):
name = models.CharField(max_length=80, help_text='Easy to remember name like "HQ"')
customer = models.ForeignKey(Customer)
address_type = models.CharField(max_length=12, choices=ADDRESS_TYPES,)
street_1 = models.CharField(max_length=100)
street_2 = models.CharField(max_length=100)
...
def __unicode__(self):
return self.name
Спасибо в продвинутом состоянии!
Теоретически, я хочу сделать что-то подобное в моем классе заказа: 'address = models.OneToManyField (customer.Address.all()). Есть идеи? –
Нет, вы не хотите этого делать. Вы хотите отношение «многие ко многим», иначе вы не сможете использовать адрес в нескольких заказах. –