PostgreSQLをバックエンドデータベースとして使用して、英語以外の著者リストをアルファベット順に並べようとしています。
これらは私のモデルです:
class Alphabet(models.Model):
letter = models.CharField(max_length=2)
letter_spell = models.CharField(max_length=3)
order = models.SmallIntegerField()
def __unicode__(self):
return self.letter
class Meta:
ordering = ['order']
class Author(models.Model):
slug = models.CharField(max_length=75)
name = models.CharField(max_length=50)
biography = models.TextField(blank=True)
...
alphabet = models.ForeignKey(Alphabet)
def __unicode__(self):
return self.name
class Meta:
ordering = ['name']
残念ながら、それはそれらを正しく注文していません。
だから私はターミナルに行き、次のように入力しました:
SELECT * FROM authors ORDER BY name
望ましい結果が得られませんでした。ただし、これは機能しています。
SELECT * FROM authors ORDER BY name USING ~<~
では、どうすればそれをORDER BY句に追加できますか?
私のビューコードは次のようになっていることに注意してください。
a = Alphabet.objects.all().prefetch_related('author_set')
どうぞよろしくお願いいたします。