Джанго модель отношений - PullRequest
0 голосов
/ 30 июля 2011

У меня есть 3 модели классов Django:1. Клиент - содержит несколько адресов для выставления счетов и доставки2. Адрес - может быть адрес для выставления счета или адрес доставки3. Заказ - содержит ссылку на 1 клиента, 1 платежный адрес и 1 адрес доставки, выбранный клиентом.

Как создать класс Order, который будет отображаться на странице администратора, чтобы пользователи могли выбирать, какой адрес доставки использовать?

Класс Address имеет свойство name, чтобы пользователь мог назначать короткие имена, такие как "HQ" или "NY Branch".Я хочу, чтобы пользователи могли выбрать адрес доставки из выпадающего списка, используя короткие имена.Я медленный нуб.

ОБНОВЛЕНИЕ

КОД Модель заказа:

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

Спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 31 июля 2011

Попробуйте посмотреть на эти вопросы:

Как работать с динамическими данными в панели администратора?

django Фильтр модели ForeignKey в админке?

Я думаю, они очень похожи на ваш вопрос. Все, что вам нужно, это установить варианты в admin.py из модели адреса.

0 голосов
/ 30 июля 2011

С документы :

Метод __unicode__ модели будет вызываться для генерации строковых представлений объектов для использования при выборе поля ...

Итак, переопределить Address.__unicode__().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...