Форум сайта python.su
Здравствуйте, хочу в блоге выводить посты по катерогиям. Для этого собираюсь вставить простое условие на сравнение принадлежности к существующим значениям категорий(два значения:common, develop).
модели:
class clsCategories(models.Model): category=models.CharField(max_length=50) def __unicode__(self): return self.category class BlogPost(models.Model): title=models.CharField(max_length=150) body=models.TextField(blank=False) timestamp=models.DateTimeField() category=models.ForeignKey(clsCategories) image=models.ImageField(upload_to='image', blank=True)
from blog.models import BlogPost z=BlogPost.objects.all() z.filter(category='common')
Офлайн
Вот так:
from blog.models import BlogPost, clsCategories categ = clsCategories.objects.get(category = 'common') z=BlogPost.objects.all() z.filter(category=categ)
z=BlogPost.objects.filter(category=categ)
Офлайн
Согласен, таким путем пойти проще.
Интуиция подсказывает, что есть еще и метод непосредстенного обращения через поле ForeignKey.
Буду искать в оф. документации.
За ответ спасибо)
Офлайн
Строка:
z.filter(category='common')
z.filter(category__pk='common')
z.filter(category__category='common')
Офлайн
z.clscategories_set.all()
z.clscategories_set.filter()
import this
Офлайн
Это отрабатывает как нужно. Читану про модели в документациию
Chern
В Вашем случае необходимо указывать поле category:z.filter(category__category='common')
fashustz.clscategories_set.all() z.clscategories_set.filter()
Отредактировано buddha (Май 8, 2012 11:03:41)
Офлайн