Как получить данные из отношений Django Many-Many? - PullRequest
0 голосов
/ 03 декабря 2018

Как получить весь товар для каждого заказа по шаблонам.Пожалуйста, помогите мне

Model.py

class Order(models.Model):
    customer_id= models.ForeignKey(Customers )
    delivery_add_id= models.ForeignKey(DeliveryAddresses)




class OrderItem(models.Model):
    order_id = models.ForeignKey(Order, related_name='orderId')
    product_id = models.ForeignKey('Products', related_name='productId')



class Products(models.Model):
    cat_id = models.ForeignKey('Categories')
    name = models.CharField(max_length=200)
    price = models.FloatField()

Шаблоны

   <tr>
        <th>Product ordered</th>
        <td>
             <ul>
                {% for prod in order.orderId.productId.product_set.all%}
                <li>{{pro}}</li>
                {% endfor %}

            </ul> 

            {{order.orderId.productId.product_set.all}}
        </td>
    </tr>

https://i.stack.imgur.com/XJ3zG.png


Просмотров.py

class productList(ListView):
    model= Products
    context_object_name = 'product_list'

    def get_queryset(self):
        return Products.objects.all()

class productDetail(DetailView):
    context_object_name = 'product'
    model = Products
    queryset = Products.objects.all()


class orderList(ListView):
    model = Order
    context_object_name= 'order_list'
    def get_queryset(self):
        return Order.objects.all()


class orderDetail(DetailView):
    context_object_name ='order'
    model = Order
    queryset= Order.objects.all() 

Это общие отношения, которые я установил. Я пытаюсь сделать это в шаблонах, я хочу показать все продукты для каждого заказа.Заказ-продукт: отношения многие ко многим.Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 03 декабря 2018

Должно быть так:

{% for orderItem in order.orderId.all %}
   {% for pro in orderItem.productId.all %}
                <li>{{pro}}</li>
   {% endfor %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...