0

djangompttを使用してカテゴリとサブカテゴリシステムを作成したいと思います。私の試み:

from django.db import models
import mptt


class Category(models.Model):
    name = models.CharField(max_length=255)
    category = models.ForeignKey('self', null=True, blank=True, related_name='children')

mptt.register(Category, order_insertion_by=['name'])

class Post(models.Model):
    title = models.CharField(max_length=255)
    text = models.TextField()
    category = models.ManyToManyField(Category)

私のadmin.py

from django.contrib import admin
from xxxx.xxx.models import *
from mptt.admin import MPTTModelAdmin

admin.site.register(Category, MPTTModelAdmin)
admin.site.register(Post)

私のエラー:

カテゴリには「親」という名前のフィールドがありません

4

1 に答える 1

4

Django-mpttには、ForeignKey('self')を持つ親という名前のフィールドが必要です

http://django-mptt.github.com/django-mptt/models.html#setting-up-a-django-model-for-mptt

あなたはそれを次のように上書きすることができます:

class Category(models.Model):
    name = models.CharField(max_length=255)
    category = models.ForeignKey('self', null=True, blank=True, related_name='children')

    class MPTTMeta:
        order_insertion_by=['name']
        parent_attr = 'category'
于 2012-09-10T09:38:12.120 に答える