سؤال

وايم الفئة العاملة والفئات الفرعية مع نماذج بيانات ، كل شيء على ما يرام في هذا الجزء، ولكن ولست بحاجة لاستخدام بلدي الفئة والفئات الفرعية في بلدي القائمة التنقل، والتراسل الفوري في محاولة لاستخدام هذا <وأ href = "http://www.sohtanaka.com/web-design/examples/horizontal-subnav/" يختلط = "نوفولو noreferrer" > مسج القائمة ، وايم جعل بلدي القائمة مع الفئات الفرعية، ولكن ايم فقدت مع جعل فرعية في الطريق:

<ul>
  <li>
    <a href="#">Category</a>

    <!--subcategories-->
   <span>Subcategory 1 </span>
   <span>Subcategory 2 </span>
   ...
  </li>
  ....
  ....
 </ul>

ومشكلتي: في نماذج بيانات: مع "الذات"، لا اعلم كيف سوء القيام عليها في هذه الحالة لجعل فرعية (الأصل هو المجال نفسه) ..

class Category(models.Model):
 name = models.CharField(core=True, maxlength=200)
 slug = models.SlugField(prepopulate_from=('name',))
 parent = models.ForeignKey('self', blank=True, null=True, related_name='child')
 description = models.TextField(blank=True,help_text="Optional")

والشكر

هل كانت مفيدة؟

المحلول

والحصول على جميع فئات المستوى الأعلى باستخدام شيء من هذا القبيل

top_level_cats = Category.objects.filter(parent__isnull=True)

وبعد ذلك:

for tlc in top_level_cats:
    #do the HTML for the top-level category
    for clc in tlc.child.all():
        #do the HTML for the children of clc

إذا كان لديك فئات مستوى متعددة، سوف تحتاج أن يكون هناك دعوة متكررة في مكان ما هناك، ولكن هذا يعطي جوهر الأساسية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top