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里读取数据,获取多多映射的实时数据