如何在Django Admin中获取ManyToManyField的当前值?

K

在我的模型中,我有ManyToManyField一个不同的模型:

class A(models.Model):
    ...

class B(models.Model):
    field = models.ManyToManyField(A)

假设我已经field使用了一些值,那么我试图获取用户在Save按下按钮之前未选择的项目的列表为此,我在save()里面重载了方法B

def save(self, *args, **kwargs):
    super(B, self).save(*args, **kwargs)
    print self.field.all()

但是,当Save按下按钮时,self.field.all()我得到的值就是加载表单时的值。

例如,如果我在列表中有两个选择项(ab),我取消选择b并点击Save按钮,self.field.all()save()时间仍然ab如果我再次编辑该项目,则看到b未选中,我又选择了该项目,save()时间self.field.all()仅为a

我的假设是未选择的项目将在save()方法之后进行处理,尽管我在Django文档中没有找到参考。

有没有办法及时获取更新的列表save()如果不是,是否有一种方法可以重载以处理Model定义中的列表更新?

注意:也欢迎使用其他方法。)

安布罗伊斯

关于m2m行为,存在类似的问题:

Django:保存后访问ManyToManyField对象

在调用save()时未获取更新数据的原因是因为Django稍后会处理多对多关系更改,并且可以通过m2m_changed信号对其进行访问

希望这可以帮助,

问候

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取变量的当前值?

如何获取RxJS Subject或Observable的当前值?

如何在WebDriver中获取元素的当前内容

如何在Django中获取当前语言?

如何在angularjs中获取元素的当前位置

django admin-如何在python中获取当前的url参数

发生onblur时,如何获取textarea的当前编辑值?

如何在Angular中内插变量的当前值?

如何在React Native中获取Range Slider的当前值?

如何在QGridLayout中获取QComboBox的当前文本?

如何在python中获取印度的当前时间

如何在hsqldb中获取序列的当前值

如何在Vuejs中获取路由的当前名称(例如“ this”值)?

如何在PHP中获取当前月份的当前周数

在将新属性保存到AR中之前,如何获取属性的当前值?

如何在Linux上获取txqueuelen的当前值

如何在android中获取webview的当前活动

如何在Swift中查询WKInterfaceSlider的当前值

如何在Jquery中获取TimeCircles插件的当前时间

如何在android中获取准确的当前位置?

如何在Android中获取用户的当前位置

如何在javascript中获取媒体查询定义的当前css值?

如何在 Rust for 循环的当前迭代中获取下一次迭代的值?

如何在laravel中获取show函数的当前ID

如何获取 MariaDB 的当前值?

我如何在 tkinter 中获取标签的当前宽度

如何在pyQt5中获取ProgressBar的当前值?

MS ACCESS - 如何在 Change 事件中获取未绑定组合框的当前列值

如何在sql server的当前行中获取前一行的值