我想查看我的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}}
答案 0 :(得分:2)
在保存之前,您无法检查Foo
是否属于某个类别。但由于它无论如何都没有保存,你可以确定它还不属于某个类别。
检查已保存的一种方法是使用if foo.pk
。 pk
是主键,如果尚未保存,则为None
。