小编mes*_*sjk的帖子

Django 按相关模型中的字段排序返回重复对象

我有这两个模型:

class Product(models.Model):
    name = models.CharField(max_length=100)
    ...

class ProductPack(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    ...
    price = models.PositiveIntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

我有一个产品模型的查询集:

products = Product.objects.all()
# <ProductQuerySet [<Product: first product>]>
Run Code Online (Sandbox Code Playgroud)

我想通过“productpack__price”订购产品查询集。所以我尝试通过这段代码来做到这一点:

qs = products.order_by("productpack__price")
Run Code Online (Sandbox Code Playgroud)

这部分正确。但有一个问题。对于产品中的每个对象,此代码将对象返回到它们在 ProductPack 中具有的外键计数。像这样:

qs
<ProductQuerySet [<Product: first product>, <Product: first product>, <Product: first product>]>
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题。你有什么建议吗?

python django django-models

3
推荐指数
1
解决办法
659
查看次数

标签 统计

django ×1

django-models ×1

python ×1