我想在另一個模型對象實例中。我提出這個錯誤:經理無法通過模型實例訪問
Manager isn't accessible via topic instance
這裏是我的模型:
class forum(models.Model):
# Some attributs
class topic(models.Model):
# Some attributs
class post(models.Model):
# Some attributs
def delete(self):
forum = self.topic.forum
super(post, self).delete()
forum.topic_count = topic.objects.filter(forum = forum).count()
這是我的觀點:
def test(request, post_id):
post = topic.objects.get(id = int(topic_id))
post.delete()
,我也得到:
post.delete()
forum.topic_count = topic.objects.filter(forum = forum).count()
Manager isn't accessible via topic instances
但是,'topic'似乎是實際的模型類,而不是根據他提供的代碼的實例。 – 2010-10-06 16:16:19
@Daniel:真的。但是,只有當您嘗試使用實例訪問'Manager'時,纔會出現錯誤'Manager無法通過Foo實例訪問'。看到源代碼:http://code.djangoproject.com/svn/django/trunk/django/db/models/manager.py – 2010-10-06 16:18:18
事實上,也許另一個原因(除了「這是最好的做法」)不使用小寫字母對於類名:)這將顯示他可能使用'topic'作爲本地實例變量並吹走對類的引用。 – 2010-10-06 16:19:44