且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Django中创建其他对象后如何自动创建新对象?

更新时间:2023-11-30 12:46:46

您可以覆盖Book的保存方法:

You can override the save method of Book:

class Book(models.Model):
    title = models.CharField (...)    
    author = models.CharField (...)
    price = models.Integer(...)

    def save(self, *args, **kwargs):
        is_new = True if not self.id else False
        super(Book, self).save(*args, **kwargs)
        if is_new:
            order = Order(order_book=self)
            order.save()

如果应该用插入时间填充auto_now_add = True,也可以将它添加到order_datetime:

You can also add auto_now_add=True to order_datetime if it's supposed to be filled with insertion time:

order_datetime = models.DateTimeField(auto_now_add=True)