2016-12-22 3 views
0

Привет Я пытаюсь написать представление, чтобы я мог отображать все элементы, связанные с Биллом. Как мне написать свой запрос? Запрос счета возвращает QuerySet [bill1, bill2]. Думаю, я могу получить связанный запрос, поэтому я могу получить доступ к каждому элементу счета.Django - Сделать связанный набор запросов для набора дополнительных ключей

Если я сделаю for-loop сейчас в своем HTML, у меня есть все элементы, перечисленные для обоих счетов, к которым они относятся.

models.py выглядит следующим образом:

class Bill(models.Model): 
    event = models.ForeignKey(Event) 
    customer = models.ForeignKey(Team) 
    date = models.DateField() 

class Item(models.Model): 
    bill = models.ForeignKey(Bill) 
    registration = models.OneToOneField(Registration, unique=True) 

Я написал вид:

def payments(request): 
    customer = Team.objects.get(owner=request.user) # Gets the right user 
    bills = customer.bill_set.all()     # Query all bills of the user 

    items = bills.item_set.all()  # Tried but doesnt work 

    context = {'bills': bills, 
       'items': items, 
       'customer': customer,} 
    return render(request, 'payment/payments.html', context) 

ответ

0

Вы можете использовать in field lookup. Код будет таким простым:

items = Item.objects.filter(bill__in=bills) 

Где bills Ваш Bill QuerySet.