@darkglare

Как правильно прописать команду?

Здравствуйте. Есть две модели

from django.db import models
import django
from shop.models import Product
from django.contrib.auth.models import User
from datetime import datetime

class Order(models.Model):
    
    nickname = models.ForeignKey(User, on_delete=models.CASCADE, default=False)
    
    email = models.EmailField()
    
    postal_code = models.CharField(max_length=20)
    city = models.CharField(max_length=100)
    street = models.CharField(max_length=100, default="s")
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    paid = models.BooleanField(default=False)
    


    class Meta:
        ordering = ('-created',)
        verbose_name = 'Заказ'
        verbose_name_plural = 'Заказы'

    def __str__(self):
        return 'Order {}'.format(self.id)

    def get_total_cost(self):
        return sum(item.get_cost() for item in self.items.all())


class OrderItem(models.Model):
    
    order = models.ForeignKey(Order, related_name='items')
    product = models.ForeignKey(Product, related_name='order_items')
    price = models.DecimalField(max_digits=10, decimal_places=2)
    quantity = models.PositiveIntegerField(default=1)
    

    def __str__(self):
        return '{}'.format(self.id)

    def get_cost(self):
        return self.price * self.quantity


Модель Order хранит информацию о том кто заказал и куда нужно отправить заказ.
Модель OrderItem хранит информацию о заказанном продукте: цена , количество, название товара.

views.py

def my_orders(request):
    """Renders the about page."""
    orders = Order.objects.filter(nickname=request.user)
   
    
   
    assert isinstance(request, HttpRequest)
    return render(
        request,
        'app/my_orders.html', {'orders': orders,}
         )


Существует страница "Мои заказы", на данный момент в ней рендерится информация из модели Order с помощью строчки во views:
orders = Order.objects.filter(nickname=request.user)

и цикла {% for order in orders %} в шаблоне.

Как мне обратиться к модели OrderItem?
Если к модели Order я обращаюсь так:
orders = Order.objects.filter(nickname=request.user)

То к OrderItem...
order_item = OrderItem.objects.filter(что вот тут должно быть написано?
или мне в другом направлении двигаться?
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
Mi11er
@Mi11er
A human...
Вроде так, но про связи прочитайте
f = Order.orderItem_set.all()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы