如何在Django中使用CharField创建索引?

时间:2019-02-21 22:35:31

标签: django django-models django-database

我有以下模型定义:

class Shop(models.Model):
    label = models.CharField(max_length=50, unique=True, primary_key=True)

class Product(models.Model):
    shop = models.ForeignKey(Shop, on_delete=models.CASCADE, db_index=True)
    name = models.CharField(max_length=255)
    price = models.DecimalField(max_digits=12, decimal_places=2)

由于Shop有一个CharField作为主键,因此我想基于Product索引我的CharField表,并使用外键对其进行索引。通过上述设置,我如何编写查询以确保使用索引,以便可以更快地检索产品?

让我们说我编写如下查询:

 Product.objects.filter(shop="Amazon", price__gte="10.00")

此查询是否会自动使用模型上的索引集,从而使大型数据集的查询速度更快?还是我需要额外的东西?

0 个答案:

没有答案