Создание вариантов выбора в модели на основе других моделей - PullRequest
0 голосов
/ 19 июня 2020

Итак, что я хочу сделать, это как я могу создать выбор (CUSTOMER_ADDRESS_CHOICE), чтобы взять поле customer_address из модели клиентов или просто обычную строку, такую ​​как «личная коллекция»? Я имею в виду, например:

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

класс Клиенты (модели.Модель):

textcustomer_id = models.AutoField(primary_key=True, null=False)
customer_name = models.CharField(max_length=100, null=True)
phone_number = models.CharField(max_length=9, null=True)
customer_adrress = models.CharField(max_length=10, null=True)

def __str__(self):
    return f'{self.customer_id}'

class Meta:
    verbose_name_plural = "Customers"

класс Заказы (модели.Модель):

CUSTOMER_ADDRESS_CHOICE = (
    ('ADRES KLIENTA', 'ADRES KLIENTA'),
    ('ODBIÓR OSOBISTY', 'ODBIÓR OSOBISTY'),
)
STATUS_CHOICES = (
    ('W TRAKCIE', 'W TRAKCIE'),
    ('ZAKOŃCZONE', 'ZAKOŃCZONE'),
)
PAYMENT_STATUS_CHOICES = (
    ('NIEZAPŁACONE', 'NIEZAPŁACONE'),
    ('ZAPŁACONE', 'ZAPŁACONE'),
)
order_id = models.AutoField(primary_key=True, null=False)
order_date = models.DateField(auto_now_add=True, null=True)
customer_id = models.ForeignKey(Customers, on_delete=models.SET_NULL, null=True)
customer_address = models.CharField(max_length=20, choices=CUSTOMER_ADDRESS_CHOICE, null=True)
cost = MoneyField(
    decimal_places=2,
    default=0,
    default_currency='PLN',
    max_digits=11,
)
status = models.CharField(max_length=20, choices=STATUS_CHOICES, null=True)
payment_status = models.CharField(max_length=20, choices=PAYMENT_STATUS_CHOICES, null=True)

def __str__(self):
    return f'{self.order_id}'

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