【问题标题】:How to pre populate FilteredSelectMultiple in django admin如何在 django admin 中预填充 FilteredSelectMultiple
【发布时间】:2011-06-19 08:22:01
【问题描述】:

如何操作 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 小部件中显示元素,右手边保持特定顺序

【问题讨论】:

    标签: django django-models django-admin


    【解决方案1】:

    添加

    Class Meta:
      ordering = ('order',)
    

    到 Movements_Elements_Rel,元素将按特定顺序出现。

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

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 2010-12-25
      • 2015-12-10
      • 2015-12-27
      • 2019-04-14
      相关资源
      最近更新 更多