Django模型清理和ManytoMany问题

时间:2011-01-03 09:20:28

标签: django django-models

我想查看我的Foo实例,如果它属于某个类别,但我的类别是多对多的属性,因此我尝试"'Foo' instance needs to have a primary key value before a many-to-many relationship can be used."后得到class Category(models.Model): name = models.CharField(max_length=120) class Movie (models.Model): poster = models.ImageField(blank=True) categories = models.ManyToManyField(Category) def clean(self): try: self.categories.all().get(db_name="special") self.poster.url = u'/media/special_img.png' except Category.DoesNotExist: pass

{{1}}

1 个答案:

答案 0 :(得分:2)

在保存之前,您无法检查Foo是否属于某个类别。但由于它无论如何都没有保存,你可以确定它还不属于某个类别。

检查已保存的一种方法是使用if foo.pkpk是主键,如果尚未保存,则为None