如何在Django中的许多更新中更新上次更改的字段

如何在Django中的许多更新中更新上次更改的字段,django,model,Django,Model,假设我有两个型号Pizza和Topping,Pizza型号有一个last\u changed字段,带有auto\u now=True和一个manytomy与Topping的关系 现在,每当我在比萨饼中添加另一个顶部时,我希望上次更改的字段得到更新。不幸的是,这不会自动更新,因为在这种情况下,Pizza模型不会保存。这是因为manytomy关系保存在单独的(自动创建的)模型和表中 那么,更新上次更改的字段的最佳方法是什么?您可以在您的比萨饼模型上有一个方法,每当您向其添加顶饰时,该方法都会被调用

假设我有两个型号
Pizza
Topping
Pizza
型号有一个
last\u changed
字段,带有
auto\u now=True
和一个
manytomy
Topping
的关系

现在,每当我在
比萨饼
中添加另一个
顶部
时,我希望上次更改的
字段得到更新。不幸的是,这不会自动更新,因为在这种情况下,
Pizza
模型不会保存。这是因为
manytomy
关系保存在单独的(自动创建的)模型和表中


那么,更新上次更改的
字段的最佳方法是什么?

您可以在您的
比萨饼
模型上有一个方法,每当您向其添加
顶饰时,该方法都会被调用

class Pizza(models.Model):
    toppings = models.ManyToManyField('Toppings', related_name="pizzas")
    last_changed = models.DateTimeField(auto_now=True, blank=True)
    # Your other fields here

    def add_topping(self, topping):
        self.toppings.add(topping)
        self.save()  # Which would update last_changed

但我也建议不要立即使用
auto\u
()。

很抱歉回复太晚,谢谢您的建议。我只是想知道如何强制每个人都调用add_topping方法。如果我必须强制执行,我可以直接强制每个人只调用save()。@Fabian:你说的强制是什么意思?你不写代码吗?对不起,如果我不明白