Как получить значение атрибута foreignkey
Я пытаюсь распечатать электронную почту, связанную с определенным OrderItem для клиента, хотя электронная почта существует, вместо нее возвращается "None", какая часть моей логики неверна?
#Models
class Customer(models.Model):
email = models.EmailField(max_length=150)
class Order(models.Model):
customer = models.ForeignKey(Customer)
class OrderItem(models.Model):
#View
def test():
try:
customer_email = OrderItem.objects.get(order__customer__email=['email'])
except OrderItem.DoesNotExist:
customer_email = None
print(customer_email)
Для такого клиента может быть несколько OrderItem
. Вы фильтруете с помощью:
def test():
email = 'foo@bar.com'
customer_email = OrderItem.objects.filter(order__customer__email=email)
print(customer_email)
Если у вас есть объект OrderItem
, вы используете:
myorderitem.order.customer.email