Как получить потомков связанных моделей в Django
И как получить Родителей моделей:)
models:
# -*- coding: utf-8 -*-
import mptt
from django.db import models
from mptt.models import MPTTModel, TreeForeignKey
class Category(MPTTModel):
category_name = models.CharField(max_length=50, unique=True, verbose_name='Название категории')
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='categories',
db_index=True, verbose_name=u'РОДИТЕЛЬСКИЙ класс')
def __unicode__(self):
return self.category_name
class Meta:
db_table = 'categoryi'
verbose_name = 'Категории'
class MPTTMeta:
level_attr = 'mptt_level'
order_insertion_by = ['category_name']
mptt.register(Category, order_insertion_by=['category_name']
class Produkt(MPTTModel):
product_name = models.CharField(max_length=128, blank=True, null=True, verbose_name='Название продукта')
# seo_keywords_title = models.CharField(max_length=256, blank=True, null=True,
# verbose_name='Заголовок к описанию (Ключевое Слово))
preview_text = models.TextField(blank=True, null=True, verbose_name='Текст на главной стр-це с фото preview_image')
preview_image = models.ImageField(blank=True, null=True, upload_to='media.doors.preview_image_doors',
verbose_name='фото на гланой стр-це с текстом preview_text ')
detail_image = models.ImageField(blank=True, null=True, upload_to='media.doors.detail_image_doors',
verbose_name='Все фото дверей')
price = models.FloatField(blank=True, null=True, default=0.0, verbose_name='Цена')
sale = models.FloatField(blank=True, null=True, default=0.0)
active = models.BooleanField(default=True)
parent = TreeForeignKey(Category, blank=True, null=True, related_name='child_product')
def __unicode__(self):
return self.product_name
class MPTTMeta:
level_attr = 'mptt_level'
order_insertion_by = ['product_name']
class Meta:
verbose_name = u'Продукт'
verbose_name_plural = u'продукты'
db_table = 'product'
Как это организовать в views.py, urls.py и html