2014-01-23 237 views
0

我感到困惑与Django的分类管理界面:Django的分类管理界面行为

我的代码:

# views.py                 
from django.db import models 
from categories.models import CategoryBase 

class Category(CategoryBase): 
    pass 

class Article(models.Model): 
    title = models.CharField(max_length=120) 
    category = models.ForeignKey(Category) 

# admin.py                 
from django.contrib import admin 
from ktv.models import Article, Category 

admin.site.register(Category) 
admin.site.register(Article) 

django-categories admin interface

我的问题是:

  1. 为什么我看到两个categories组?我需要所有这些吗?

  2. 我已经创建了一些类别(不记得通过哪个组),它们从顶部的Categories->Categories组可见,但不是从底部Ktv->Categorys,为什么?

  3. 出于好奇,为什么Categories然后Categorys? 谢谢!

回答

0
  1. Django的,一类是注册在其admin.py第一个,和您注册在admin.py第二个。

    如果您打算同时使用提供的Category型号和从CategoryBase派生的自定义型号,则只需要两者。如果你只需要前者,不要定义你自己的Category模型。如果您只需要后者,请只安装categories.editor应用程序,而不要安装categories应用程序。 (见documentation。)

    无论哪种情况,我都会将您自己的Category重命名为其他名称以避免这种混淆。

  2. 你在谈论两个不同的模型碰巧共享相同的名称。他们没有任何关系。

  3. 因为他们定义了plural name而你没有。

+0

很清楚,现在我回想一下这个文档说的是什么...... –