首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Django Admin中对CommaSeparatedIntegerField排序

在Django Admin中对CommaSeparatedIntegerField进行排序,可以通过自定义Admin模型来实现。首先,需要创建一个Admin模型,并在其中定义一个排序字段。然后,使用Django提供的排序方法对CommaSeparatedIntegerField进行排序。

以下是一个示例代码:

代码语言:python
代码运行次数:0
复制
from django.contrib import admin
from django.db.models.functions import Cast
from django.db.models import IntegerField

from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('id', 'comma_field', 'sorted_field')

    def sorted_field(self, obj):
        # 将CommaSeparatedIntegerField转换为整数列表
        integer_list = [int(x) for x in obj.comma_field.split(',')]

        # 对整数列表进行排序
        sorted_list = sorted(integer_list)

        # 返回排序后的结果
        return ','.join(str(x) for x in sorted_list)

    sorted_field.admin_order_field = 'comma_field'  # 指定排序字段

admin.site.register(YourModel, YourModelAdmin)

在上述代码中,我们创建了一个名为YourModelAdmin的自定义Admin模型,并定义了一个名为sorted_field的方法。该方法将CommaSeparatedIntegerField字段的值转换为整数列表,并对其进行排序。最后,将排序后的结果以逗号分隔的形式返回。

list_display中,我们将sorted_field添加到Admin模型的显示列表中,以便在Admin界面中显示排序后的结果。同时,我们还通过sorted_field.admin_order_field指定了排序字段为comma_field,这样在Admin界面中点击该字段的表头时,会按照我们定义的排序规则进行排序。

请注意,上述代码中的YourModel是你自己定义的模型类,需要根据实际情况进行替换。

推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb)。这些产品提供了稳定可靠的云计算基础设施和数据库服务,适用于各种规模的应用场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券