0
私はここでレンガされています。私は何が起こっているのか分からない?クラスベースのビューでManyToManyFieldを呼び出す方法
私は簡単なブログをしたいです。
私はManyToManyFieldを定義し、カテゴリを多対多フィールドとして設定し、名前の投稿を関連付けることができます。
以前の私は、関数ベースのビューを使用し、私は単純に、このような関連の名前を呼ばれる:
例
def catdetail(request, slug):
code here
and
posts = category.pots.all() /////and this gave me all posts related to this cateogry,
しかし、私はこのカテゴリーを呼び出すことはできませんカテゴリの詳細ビューで、クラスベースのビューでポストからのフィールド。私の試行はすべて失敗です。カテゴリが定義されていない、カテゴリーにオブジェクト、カテゴリ、投稿があり、既に知っているものと似たものがあります...
私の質問はどのようにしてカテゴリの詳細ビューで呼び出すことができますか?ここで
は私のモデルとviews.pyです:
class Category(models.Model):
title = models.CharField(max_length=20)
slug = models.SlugField(unique=True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return reverse("category_detail", kwargs={"slug": self.slug})
class Tag(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField(unique=True)
def __unicode__(self):
return self.title
class Post(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
category = models.ManyToManyField(Category, related_name='posts')
title = models.CharField(max_length=100, blank=False)
slug = models.SlugField(unique=True)
body = models.TextField()
image = models.ImageField(upload_to='project/uploads/')
tag = models.ManyToManyField(Tag, related_name='tag_post')
date = models.DateTimeField(auto_now_add=True, auto_now=False)
date_mod = models.DateTimeField(auto_now=True, auto_now_add=False)
publis = models.BooleanField(default=True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return reverse("post_detail", kwargs={"slug": self.slug})
とviews.py。
ビューでカテゴリフィールドと関連する名前をここで呼び出す方法を教えてもらえますか?
class CategoryDetail(DetailView):
model = Category
template_name = "cat_detail.html"
def get_context_data(self, *args, **kwargs):
context = super(CategoryDetail, self).get_context_data(*args, **kwargs)
context['cat'] = get_object_or_404(Category, slug=self.kwargs.get("slug"))
return context
いいえ、私たちは、あなたが話しているエラーを知っていないかどうか、すべての記事を得ました。私たちが助けてくれるようにするには、実際のエラーとそれを引き起こすコードを掲載する必要があります。 –
私はちょうどcategoryDetailビューで関連する名前のcategoryフィールドを呼び出す方法を尋ねています、エラーはCategoryが定義されていません....関連する名前の投稿を含むPostからcategory detail viewフィールドを呼び出す方法がわからないので' –