【发布时间】:2020-07-18 03:17:32
【问题描述】:
collection.models.py:
class Collection(Model):
items = ManyToManyField(Item)
...
item.models.py
class Item(Model):
state = OneToOneField('ItemState')
...
class ItemState(Model):
item = ForeignKey('Item')
...
结构说明:一个item一次只有一个状态,但是客户端想要跟踪它的状态历史。
我想编写一个在创建集合时创建新状态的信号。由于循环导入,我将信号与模型分开。现在我的问题是我是否在collection_signals.py 或item_state_signals.py 下为上述信号编写信号。
我的猜测是两者都可以,但是搜索上述信号的合理位置是什么?我假设 Collection 因为 Collection 是发送者,但这又是关于创建状态和各种模型将创建状态(例如,当创建一个新项目时也应该触发一个新状态)
【问题讨论】:
-
你的信号到底在做什么,你可以考虑覆盖保存方法而不是使用信号
标签: python django django-models django-signals