从中删除值后更新对象

时间:2013-07-18 08:15:07

标签: django python-2.7

我有一个对象说它为productObj。 当我在迭代这个对象时,如果满足特定条件,我必须从该对象中删除该值。

类似

for data in productObj:
    if data.count > 0:
        data.delete()

如果计数大于零,则应删除数据值并更新productObj

1 个答案:

答案 0 :(得分:1)

只需处理自己的代码,然后

if data.count > 0:
    data.count = None
#continue with some stuff and lastly call .save()
productObj.save()

应该足够了。

在Django中调用.delete()将删除整个对象。

但是如果你想要删除那个对象的属性,你将会遇到一个糟糕的时间,特别是当你正在处理一个继承自models.Model的对象时,让我们继续这样做吧

del productObj.count #from the object

如果您希望将其从模型中剥离,则必须从模型_meta字段中删除它,这些字段将属性 - > Model._meta.fields

Daniel Roseman explains it brilliantly here