save_model ManyToManyField

http://www.codeye.top
Django Admin.py 中使用 save_modle,在执行获取obj里的数据时发现obj没有实时更新

数据模型关系:

app = models.ManyToManyField('lrApp', verbose_name="申请接入平台", blank=True)

admin.ModelAdmin 中的一些代码:

classBatchAuthAdmin(admin.ModelAdmin):
    list_display = ('batchauth_list','projectId','authExe','maxConnect','OS','ARCH','spanTime','stopTime')
    filter_horizontal = ('app',)
    readonly_fields = ('createTime','stopTime','clientToken')
    exclude = ('status','httpPath','tcpPort','httpPort','reserver')
    def save_model(self, request, obj, form, change):
        obj.save()
        modles = obj.app.all()  # 这里获取的数据为空,首次创建为空,再次保存时数据为上次的结果
        s = form.cleaned_data['app'] # 直接读取form里的数据,可以获取实时数据
        names = map(lambda o: o.key, s.all())
        modules = ('|').join(names)

解决方法:直接从form里读取数据,获取多多映射的实时数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值