1
所以我使用的信號觸發功能上post_save
後,當第一個被保存到創建另一個模型的實例:Django的post_save信號只在看似觸發第二保存或
模型觸發信號:
class Product(models.Model):
# ...
colors = models.ManyToManyField(Color)
sizes = models.ManyToManyField(Size)
而且功能:
def create_skus(instance, **kwargs):
for color in instance.colors.select_related():
for size in instance.colors.select_related():
SKU.objects.get_or_create(product=instance, color=color, size=size)
我的問題是,create_skus
應該在每次post_save被調用,但似乎只禾rk在第二次保存或之後,導致用戶必須兩次保存產品。這是什麼來源?
編輯:我覺得這事做這些M2M關係如何添加(即instance.colors.add(<Color object>)
,但我不知道,如果你知道一種解決辦法,我會永遠愛你