我有一个模型,其中包含字段word和definition.字典模型.
在db中,我有例如这些对象:
word          definition
-------------------------
Banana        Fruit
Apple         also Fruit
Coffee        drink
我想做一个查询,它给出了我,按照第一个字母排序,这个:
Apple - also Fruit
Banana - Fruit    
Coffee -drink
这是我的模特:
class Wiki(models.Model):
   word = models.TextField() 
   definition = models.TextField()
我想在视图中创建它,而不是在模板中.这怎么可能在django?
Aya*_*Aya 26
鉴于模型......
class Wiki(models.Model):
   word = models.TextField() 
   definition = models.TextField()
...代码...
my_words = Wiki.objects.order_by('word')
...应该以正确的顺序返回记录.
但是,word如果类型为TextField,则无法在字段上创建索引,因此word如果表中有很多行,则排序将花费很长时间.
我建议把它改成......
class Wiki(models.Model):
   word = models.CharField(max_length=255, unique=True) 
   definition = models.TextField()
...它不仅会在word列上创建索引,还会确保您不能两次定义相同的单词.
既然你标记了你的问题Django,我将回答如何使用Django实体做到这一点.
首先,定义您的实体,如:
class FruitWords(models.Model):
    word = models.StringField()
    definition = models.StringField()
    def __str__(self):
        return "%s - %s" % (self.word, self.definition)
要获得列表:
for fruit in FruitWords.all_objects.order_by("word"):
    print str(fruit)
| 归档时间: | 
 | 
| 查看次数: | 20865 次 | 
| 最近记录: |