Python 如何在django admin中订购只读M2M字段
我似乎不知道如何在Django admin中连接到只读字段的查询集。特别是我想为内联管理员这样做Python 如何在django admin中订购只读M2M字段,python,django,django-admin,Python,Django,Django Admin,我似乎不知道如何在Django admin中连接到只读字段的查询集。特别是我想为内联管理员这样做 # models.py class Value(models.Model): name = models.TextField() class AnotherModel(models.Model): values = models.ManyToManyField(Value) class Model(models.Model): another_model = model
# 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,)
请注意,这可能是通过覆盖表单,然后将小部件设置为禁用来实现的,但这有点麻烦,看起来也不太好(我不希望使用灰色的多选,而是逗号分隔的单词列表。您可以在
值模型中设置排序
class Value(models.Model):
name = models.TextField()
class Meta:
ordering = ['name']
在值
模型中设置和排序
是不可能的吗?哦!我不知道模型上也有排序
选项!考虑到额外的数据库成本,这有点烦人,但确实有效。将其作为答案添加,我会接受。干杯,@raratiru!