本文共 762 字,大约阅读时间需要 2 分钟。
Django 中使用 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里读取数据,获取多多映射的实时数据
转载地址:http://nhvmb.baihongyu.com/