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>)
,但我不知道,如果你知道一种解决办法,我会永远爱你