datetime类型无法在xadmin中设置list_editbale后修改

来源:13-4 自定义列表返回数据,同一个model注册两个管理器

weixin_慕斯卡4281563

2019-05-08

图片描述


这里有点体会,xadmin中可以对同一个model表格,使用***Admin的queryset()方法实现删选。这个功能老师讲课时说了可以在queryset的filter中设置自己的删选逻辑,这里正好我用上:要把近30天需要校验的设备单独列出来qs = qs.filter(next_cal_date__lte=datetime.now() + cal_interval)。 这个功能真是好。

class Plan2CaliEquipmentAdmin(object):
    list_display = ['item', 'name', 'desc', 'detail','is_banner', 'sn', 'asset_num', 'type', 'team', 'responsible_person', 'fav_nums',
                    'click_nums', 'reserve_times', 'tag', 'image', 'cal_date', 'next_cal_date', 'manufacturer', 'location', 'status', 'add_time',
                    'get_resource_nums', 'go_to']
    search_fields = ['item', 'name', 'desc', 'detail','is_banner', 'sn', 'asset_num', 'type', 'team', 'responsible_person', 'fav_nums',
                     'click_nums', 'reserve_times', 'tag', 'image', 'cal_date', 'next_cal_date', 'manufacturer', 'location', 'status',
                     'get_resource_nums', 'go_to']
    list_filter = ['item', 'name', 'desc', 'detail', 'is_banner', 'sn', 'asset_num', 'type', 'team', 'responsible_person', 'fav_nums',
                    'click_nums', 'reserve_times', 'tag', 'image', 'cal_date', 'next_cal_date', 'manufacturer', 'location', 'status', 'add_time',
                    ]    # get_resource_nums不能写在这里
    ordering = ['-click_nums'] #进入xadmin后默认以点击数排序
    readonly_fields = ['click_nums', 'fav_nums', 'reserve_times']
    # exclude = ['fav_nums'] #这个字段不显示在 点击这个设备后的页面中 exclude、readonly_fields互相矛盾的
    list_editable = ['cal_date', 'next_cal_date']
    inlines = [EquipmentResourceInline, EquipmentVideoInline]
    # refresh_times = [3, 5]

    def queryset(self):
        qs = super(Plan2CaliEquipmentAdmin, self).queryset()
        cal_interval = timedelta(days=30)
        qs = qs.filter(next_cal_date__lte=datetime.now() + cal_interval)
        return qs
写回答

1回答

bobby

2019-05-10

你这里修改后 通过f12 看看网络请求有没有问题?

0
4
bobby
回复
weixin_慕斯卡4281563
是的, 这个有机会你也可以修改一下 然后给xadmin提一个pr
2019-05-14
共4条回复

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程