2012-05-17 22 views

回答

1

是的,但不要那樣做。

1)使用可以使用一個明確的intermediate模型用於M2M關係, 爲它提供一個自定義manager在其中可以更換create方法。

2)在我看來,雖然,最好的辦法是對這些車型的 實例方法add_something它提供了必要的驗證和異常處理 邏輯之一。

0

我發現了一個類似的問題,這並不完全是我想要的,但有助於解決問題。

@receiver(m2m_changed, sender=MyModel.my_field.through) 
def check(sender, **kwargs): 
    if kwargs['action'] == 'pre_add': 
     add = AnotherModel.objects.filter(pk__in=kwargs["pk_set"]) # instances being added 
     # your validation here... 

由於mamachankoquestion

+0

只有當您想要將其與您不控制的django模型(例如django內置模型)掛鉤時纔有意義。或者您想要訂閱有關此特定活動的許多操作。不是爲了你所問的。 – rantanplan