如何在django admin中预先填充FilteredSelectMultiple

时间:2011-02-01 15:06:28

标签: django django-models django-admin

如何操纵FilteredSelectMultiplein django管理区域的右侧。
要么
有没有办法填充FilteredSelectMultiplein django管理区域的右侧。

在我的场景中,我想在右侧订购元素。

Djano模特:

    class Elements(models.Model):

        movements_rel = models.ManyToOneRel('Movements','elements_rel');

        number = models.CharField(max_length=45)
        description = models.CharField(max_length=100)


    class Movements(models.Model):
        sanskrit_name = models.CharField(max_length=45)
        english_name = models.CharField(max_length=45)
        elements_rel = models.ManyToManyField('Elements',blank=True,through='Movements_Elements_Rel',verbose_name='Select Elements')

class Movements_Elements_Rel(models.Model):
    order = models.IntegerField()
    elements = models.ForeignKey('Elements')
    movements = models.ForeignKey('Movements')

我可以在FilteredSelectMultiple小部件中显示元素,右侧保持特定顺序

1 个答案:

答案 0 :(得分:1)

添加

Class Meta:
  ordering = ('order',)

到Movements_Elements_Rel,元素将以特定顺序显示。

另一种选择是在管理员中使用AdminInline来管理manytomany关系并使用此snippet或django-grappelli。它们都允许您使用拖放来设置特定顺序