我正在尝试使用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')
非常感谢您的帮助。