在 Django 中是否可以这样做,以便在添加关联模型的实例时,模型的字段会发生变化?
class Competition(models.Model):
is_sorted = models.BooleanField()
class Gymnast(models.Model):
parent = models.ForeignKey(Competition, related_name='gymnasts')
name = models.CharField()
添加(删除)Gymnast实例时,需要更改关联Competition类的is_sorted字段。同时,更改 Gymnast 实例的字段(例如name)时,Competition类的is_sorted字段不会更改。
似乎有一个post_add信号,但据我了解,它是用于多对多连接的。
为了在对象被删除和/或创建之后处理动作,有信号
post_delete
和post_save
该方法
post_save
接受一个参数created
。created
指示是否已创建新对象或已修改旧对象。通过参数
instance
,可以得到关联的对象Competition
。请注意,使用 on_delete=CASCADE 将删除关联的对象。