2017-02-13 11 views
0

Djangoはユニオンインデックスを追加することによってスマートにorderingを処理しますか?同様に:Djangoモデルのメタで `ordering`と同じ` index_together`を追加する必要がありますか?

from django.db import models 

class Musician(models.Model): 
    first_name = models.CharField(max_length=50) 
    last_name = models.CharField(max_length=50) 
    instrument = models.CharField(max_length=100) 

    class Meta: 
     ordering = ['first_name', 'last_name', 'instrument'] 
     index_together = ['first_name', 'last_name', 'instrument'] 

は、最後の行index_togeter宣言なしで/パフォーマンスの違いはありますか?

答えて

0

はい。 Djangoはそれ自体をしません。各フィールドまたは複数の列のインデックスに別々のインデックスを持つことができるためです。 last_nameまたはinstrumentで注文しようとすると、複数列のインデックスは機能しません。だから、あなたが必要とするインデックスを指定するのはあなた次第です。

関連する問題