python - 如何在 django admin 中订购只读 M2M 字段

标签 python django django-admin

我似乎不知道如何挂接到 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,)

请注意,这可能可以通过覆盖表单然后将小部件设置为禁用来完成,但这有点乱七八糟而且看起来不太好(我不希望多选变灰,但逗号-分隔的单词列表。

最佳答案

您可以设置一个顺序 metadataValues 模型中:

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

    class Meta:
        ordering = ['name']

关于python - 如何在 django admin 中订购只读 M2M 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845167/

相关文章:

python - 如何创建指向另一个 html 页面的链接?

python - 使用 Django 管理站点自动填充 created_by 字段

django-admin - 扩展 django import_export 的管理员导入表单

python - zip 基于 python 中的真/假元组

python - python中线性插值的逻辑错误

javascript - 使用 django 和 ajax 重新加载页面而不刷新

django - 将 http 请求的副本转发到另一个(测试)环境

python - AJAX - Django - 更好的方法?

python - 简化 Django 中的多个可选过滤器

python - Django ModelAdmin get_form() 没有设置字段属性