2016-07-03 7 views
0

カテゴリをDjangoの管理者でツリーとして表示するにはMPTTを使用しますか?ツリーとして選択して表示

私はそれがツリーとしてカテゴリの一覧を表示作っ:

enter image description here

しかし、私は新しい記事を作成しようとすると、それは動作しません:

私はどのように

enter image description here

ツリーとして選択をレンダリングさせますか?ここで

は私のモデルである:

# -*- coding: utf-8 -*- 
from __future__ import unicode_literals 
from django.db import models 
from mptt.models import MPTTModel, TreeForeignKey 
from ckeditor.fields import RichTextField 
from taggit.managers import TaggableManager 
import os 


class Category(MPTTModel): 

    name = models.CharField(u'Заголовок', max_length=100, unique=False) 
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True, 
          verbose_name=u'Родитель') 

    class Meta: 
     verbose_name = u'Мероприятие' 
     verbose_name_plural = u'Мероприятия' 

    class MPTTMeta: 
     order_insertion_by = ['name'] 

    def __unicode__(self): 
     return self.name 


class Article(models.Model): 
    category = models.ForeignKey(Category, on_delete=models.CASCADE, blank=False, verbose_name=u'Раздел') 
    title = models.CharField(u'Содержание', max_length=120, blank=False) 
    content = RichTextField(u'Содержание', blank=False) 
    tags = TaggableManager(u'Тэги') 

    class Meta: 
     verbose_name = u'Новость' 
     verbose_name_plural = u'Новости' 
+0

どのように新しい記事を作成していますか? Djangoの – e4c5

+0

@ e4c5管理者 – Viktor

答えて

1

あなたはあなたの子供のモデルにTreeForeignKeyを使用する必要があります。

class Article(models.Model): 
    category = TreeForeignKey(Category, on_delete=models.CASCADE, blank=False, 
    null=False, verbose_name=u'Раздел') 
    ... 
関連する問題