程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从外键 Django 获取数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从外键 Django 获取数据?

开发过程中遇到从外键 Django 获取数据的问题如何解决?下面主要结合日常开发的经验,给出你关于从外键 Django 获取数据的解决方法建议,希望对你解决从外键 Django 获取数据有所启发或帮助;

我正在尝试获取与订单项相关的所有产品,但在执行查询时遇到问题。 我想列出一个订单项中的所有产品。希望我已经提供了所需的一切。

from django.core.valIDators import RegexValIDator
from django.db import models
from django.urls import reverse
from django.utils.text import slugify
from django.contrib.auth import get_user_R_241_11845@odel

class Order(models.Model):
    ref_code = models.CharFIEld(max_length=20,blank=True,null=TruE)
    first_name = models.CharFIEld(('first name'),max_length=30,blank=TruE)
    last_name = models.CharFIEld(('last name'),blank=TruE)

class Product(models.Model):
   category = models.ForeignKey(category,related_name='products',on_delete=models.CASCADE)
   name = models.CharFIEld(max_length=200,db_index=True,unique=TruE)


class OrderItem(models.Model):
    order = models.ForeignKey(Order,related_name='items',on_delete=models.CASCADE)
    product = models.ForeignKey(Product,related_name='order_items',on_delete=models.CASCADE)
    price = models.decimalFIEld(max_digits=10,decimal_places=2)
    quantity = models.PositiveIntegerFIEld(default=1)
    slug = models.SlugFIEld(max_length=200,db_index=TruE)

解决方法

一个想法

# For @R_262_10636@entries
@R_262_10636@entries = OrderItem.objects.all() #or @R_262_10636@entries = OrderItem.filter(order = order)

# one orderItem 

for oi in orderItem:
  products_of_one_oi = oi.product
    for product in products_of_one_oi:
      print(product)


,

试试这个:

# Get list of product ids of a particular order
product_ids = OrderItem.objects.filter(order=order).values_list('product',flat=TruE)
# Get products from list of product ids
products = Product.objects.filter(id__in=product_ids)

让我知道它是否有帮助:)

大佬总结

以上是大佬教程为你收集整理的从外键 Django 获取数据全部内容,希望文章能够帮你解决从外键 Django 获取数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:获取数据