我有我正在使用在以下領域的形式。Django的形式查詢集爲ModelChoiceField
contact_country = forms.ModelChoiceField(queryset=Country.objects.all())
的國家模型看起來像這樣
class Country(models.Model):
iso = models.CharField(max_length=2)
name = models.CharField(max_length=80)
printable_name = models.CharField(max_length=80)
iso3 = models.CharField(max_length=3,null=True, blank=True)
numcode = models.IntegerField(null=True, blank=True)
special = models.BooleanField(default=False)
def __unicode__(self):
return self.printable_name
class Meta:
ordering = [ 'printable_name' ]
的「特殊」字段指示該國是「特殊的」。如果這個國家是「特殊」的,我希望它能夠出現在列表的其餘部分 - 因爲我相信你在網絡上的其他地方看到過這種情況(例如英語國家,如澳大利亞,英國和美國,位於選擇,但也與其他國家一樣)。
QuerySet可以嗎?或者我應該尋找其他地方?
是的,除此之外,我沒有得到「特殊」的國家再次出現下面列出所有國家的名單。 – Salgo 2010-10-20 13:09:57
最佳答案,但應改爲'.order_by(' - special')'。 – 2012-12-17 17:27:24