按类和标题排序下拉列表

时间:2013-05-10 13:59:00

标签: python django

这是一个棘手的... 我的模型如下所示。 我在模型(c,b,a)中显示的下拉列表中显示了C类。

我想用b来命令并以更好的方式显示它,每个b都有一个标题。

但我想将其表现为:

B(A)

C

C

C

C

然后再说:

B(A)

C

C

 Class A(CodeList)
        Class Meta:

Class B(Models.Model)
    Name = models.Charfield(max_length=200)
    a = models.ForeignKey(A);
    def __unicode__ (self) :
        return "%s (%s)" % (self.name, self.a.name);
    def a_name(self) :
        return self.a.name;

Class C(Models.Model)
    Name = models.Charfield(max_length=200)
    b = models.ForeignKey(B);
    def __unicode__ (self) :
        return "%s (%s)" % (self.name, self.b.name, self.a.name);
    def b_name(self) :
        return self.b.name;
    def a_name(self) :
        return self.a.name;

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

订购应该是更容易的部分。只需在C的Meta选项中设置“排序”选项即可。以下是文档的相应部分:https://docs.djangoproject.com/en/dev/ref/models/options/#ordering

分组有点棘手。我认为没有办法绕过Select-widget的子类并覆盖它的render-method。