Итак, что я хочу сделать, это как я могу создать выбор (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"