我有一個三個數字的向量作爲模型的名稱。 即12-1-120 12-1-139 12-1-9等在Django模型中按陣列/整數列表存儲和排序
我想按降序排列模型的實例,使用Django來顯示12-1-139,12-1-120 ,12-1-9。
除了它總是像一個字符串,因此顯示12-1-9,12-1-139,12-1-120。
我試過使用'CommaSeparatedIntegerField',但它完全沒用,仍然以相同的方式。
我知道的唯一方法就是在技術上可行,是通過將三個單獨的「IntegerField」組合在一起排序,我認爲這太不切實際了。
任何指針,還是我堅持這種不切實際的方法?
我忘了提及,我還需要使用一個字符串有時調用這個對象,我不想不斷地將字符串轉換爲一個int,所以我用另一種方式做了它,並將一堆int整合到一個字符串使用某種計算字段。
這裏是我的基本代碼:
class MyModelName(models.Model):
name = models.CharField(max_length=15)
x = models.IntegerField(max_length=200)
y = models.IntegerField(max_length=200)
z = models.IntegerField(max_length=200)
def save(self, *args, **kwargs):
self.name = '-'.join([str(self.x), str(self.y), str(self.z)])
super(MyModelName, self).save(*args, **kwargs)
class Meta:
ordering = ["-x","-y","-z"]
爲什麼具有三個整數字段是不切實際的? – 2012-03-12 23:15:27
我只是認爲將它存儲到一個單獨的領域將會是一個很好的選擇。 – 2012-03-13 05:30:15