Django:models.FilePathField->;字母顺序
我定义了这样一个图像字段:Django:models.FilePathField->;字母顺序,django,admin,alphabetical-sort,Django,Admin,Alphabetical Sort,我定义了这样一个图像字段: image = models.FilePathField(path="xxx",recursive=True, blank=True, null=True) 当我使用Django Admin时,图像的顺序是随机的。我如何按字母顺序对它们排序 编辑: 对象也有其他字段。但字段是一个包含目录中所有图像的dropbox。这些图像不是按字母顺序排序的 将选项添加到ModelAdmin: class MyAdmin(admin.ModelAdmin): orderin
image = models.FilePathField(path="xxx",recursive=True, blank=True, null=True)
当我使用Django Admin时,图像的顺序是随机的。我如何按字母顺序对它们排序
编辑:
对象也有其他字段。但字段是一个包含目录中所有图像的dropbox。这些图像不是按字母顺序排序的
将选项添加到ModelAdmin
:
class MyAdmin(admin.ModelAdmin):
ordering = ['image']
更新:始终获取图像排序列表的最简单方法是使用模型定义中的选项:
class Image(models.Model):
image = models.FilePathField(path="xxx", recursive=True,
blank=True, null=True)
class Meta:
ordering = ['image']
更新2:如果要按名称排序,则只需在管理表单中的外键字段,然后覆盖该方法:
谢谢,但我不想要排序列表,而是带有图像的dropbox。有一个包含图像文件的dropbox,但这些文件是随机排列的。我明白了。但是元素也有名称。列表应按名称排序。FilePathField没有用于排序的选项()
排序
是型号
的选项,而不是FilePathField
的选项。无论如何,请看我答案的第二次更新。在第二次更新中,图像必须是外键,但实际上不是。我稍后会尝试实现。感谢您在第二次更新中提供的帮助,我指的是带有image
和weblink
字段的模型管理员。正如我从您的屏幕截图中了解到的,此型号的外键是图像
字段。
class MyAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "image":
kwargs["queryset"] = Image.objects.all().order_by("image")
return super(MyAdmin, self).formfield_for_foreignkey(
db_field, request, **kwargs)