【问题标题】:How to order readonly M2M fields in django admin如何在 django admin 中订购只读 M2M 字段
【发布时间】:2018-07-28 10:46:00
【问题描述】:

我似乎无法弄清楚如何挂钩到 Django 管理中只读字段的查询集。特别是我想为内联管理员执行此操作。

# models.py
class Value(models.Model):
    name = models.TextField()

class AnotherModel(models.Model):
    values = models.ManyToManyField(Value)


class Model(models.Model):
    another_model = models.ForeignKey(AnotherModel)


# admin.py
class AnotherModelInline(admin.TabularInline):
    # How do I order values by 'name'?
    readonly_fields = ('values',)


class ModelAdmin(admin.ModelAdmin):
    inlines = (AnotherModelInline,)

请注意,这可能可以通过覆盖表单然后将小部件设置为禁用来完成,但这有点小技巧并且看起来不太好(我不想灰显多选,而是一个逗号- 分隔的单词列表。

【问题讨论】:

  • Value模型中设置和orderingmetadata,不可能?
  • 哦!我没有意识到模型上还有ordering 选项!考虑到额外的数据库成本,这有点烦人,但这确实有效。添加它作为答案,我会接受。干杯,@raratiru!

标签: python django django-admin


【解决方案1】:

您可以在Values 模型中设置ordering metadata

class Value(models.Model):
    name = models.TextField()

    class Meta:
        ordering = ['name']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 2011-02-23
    • 2018-06-03
    • 2012-11-28
    相关资源
    最近更新 更多