2012-06-21 2 views
2

Это мои моделиДжанго получить все значения, связанных с моделью

class Order(models.Model): 
    name = ... 

class OrderDetail(models.Model) 
    order = models.OneToOneField(Order,null=False) 
    comment = ... 

class LastUpdate(models.Model) 
    order = models.OneToOneField(Order,null=False) 
    date = ... 

Когда я пишу Order.objects.all(). Значения() это дает мне список, который содержит только name Но мне нужно получите значения name,orderdetail__comment,lastupdate__date.

я могу получить их, написав

Order.objects.values('name','orderdetail__comment','lastupdate__date').all() 

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

Как я могу получить все значения связанных полей?

ответ

2

Во-первых, вы запрос по

orders = Order.objects.select_related('orderdetail__comment', 'lastupdate__date') 

затем, получить значения по

orders.values('name', 'orderdetail__comment', 'lastupdate__date') 
+0

Вы пробовали это? Я думаю, что это будет работать. – iMom0

Смежные вопросы