models.py
class Cat(MPTTModel):
parent = TreeForeignKey(u'self', blank=True, null=True, related_name=u'children')
slug_title = models.SlugField(u'Имя для ссылки', unique=True)
class Item(models.Model):
cat = models.ManyToManyField(Cat, related_name=u'cat')
slug_title = models.SlugField(u'Имя для ссылки', unique=True)
views.py
def item(request, cat_slug_title, slug_title):
cats = Cat.objects.select_related().filter(show=True)
cat = cats.get(slug_title=cat_slug_title)
item = Item.objects.get(slug_title=slug_title,show=True)
mar = Item.objects.filter(show=True,cat__slug_title=cat_slug_title)
urls.py
url(r'catalog/(?P<cat_slug_title>[-\w]+)/(?P<slug_title>[-\w]+)/$', 'item', name='item'),
sitemap.py
class DirItem(Sitemap):
changefreq = 'weekly'
priority = 0.5
def items(self):
return Item.objects.filter(show=True)
def lastmod(self, obj):
return obj.pub_date
def location(self, obj):
return reverse(list, args={'cat': obj.cat_slug_title}, kwargs={'slug_title': obj.slug_title})
Вид ссылки, типа:
localhost/catalog/category1/post-name/
localhost/catalog/category2/post-name/
т.е. post-name - статья, может быть в обоих категориях (cat=models.ManyToManyFiel)
ясное дело, ошибка вида, 'ManyRelatedManager' object has no attribute 'slug_title'.... Как сделать правильно?
Спасибо