这是交易:
我有两个 db 模型,比如说ShoppingCart
和Order
. 遵循 DRY 原则,我想将一些常见的道具/方法提取到共享接口ItemContainer
中。
一切都很顺利,直到我遇到_flush()
主要对相关对象集执行删除的方法。
class Order(models.Model, interface.ItemContainer):
# ...
def _flush(self):
# ...
self.orderitem_set.all().delete()
所以问题是:我如何动态地知道它是orderitem_set
还是shoppingcartitem_set
?