对象名称未显示在管理员中

时间:2016-03-11 19:56:01

标签: django django-models django-admin django-smart-selects

任何人都可以帮我解决为什么类别名称没有显示在我的管理控制台中?我试图使用smart_selects,但似乎没有正确设置的东西。我正在使用django 1.9,python 2.7

这是我的models.py

from __future__ import unicode_literals
from django.db import models
from smart_selects.db_fields import ChainedForeignKey

class Category (models.Model):
    category = models.CharField(max_length = 255)
    def _unicode_(self):
      return self.category


class Brand (models.Model):
    brand = models.ForeignKey(Category)
    def _unicode_(self):
      return self.brand


class Make (models.Model):
    category = models.ForeignKey(Category)
    brand = ChainedForeignKey(Brand, chained_field = 'category',
                              chained_model_field = 'category', show_all = False, auto_choose = True)

这是我的admin.py

from django.contrib import admin
from .models import Category, Brand, Make

admin.site.register(Category)
admin.site.register(Brand)
admin.site.register(Make)

我在设置中注册了应用

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'smart_selects',
    'app',
    'blog',
]

但这是它在管理控制台中的外观 Brand category object

enter image description here

1 个答案:

答案 0 :(得分:1)

您的功能名称错误。它是__unicode__,有2个下划线而不是一个。