我有两个模型:
class Category(MPTTModel):
name = models.CharField(max_length=50,unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=50)
categories = models.ManyToManyField(Category,related_name='products')
def __unicode__(self):
return self.name
类别遵循树状结构,我只想将产品添加到“叶类别”。
当我打电话my_category.products.create(...)
或类似电话时,my_category.is_leaf_node() == False
它应该会失败。如果 my_category 已经有产品,那么它应该会失败
。
这些检查进入保存方法?在自定义管理器中?或者别的地方?我希望验证在模型级别。my_category.children.create(...)