在Django Admin中显示子界面的父级
我刚开始学习Python Django,我们决定用这个框架来开发一个应用。在开发管理后台的时候遇到了一些问题,这里有一段我的代码,模型大概是这样的:
class Category(models.Model):
name = models.CharField(max_length=60)
description = models.CharField(max_length=100)
class Product(models.Model):
name = models.CharField(max_length=60)
description = models.CharField(max_length=100)
category = models.ForeignKey(Category)
在数据库中,相应的表里,产品表(Product)有一个外键指向分类表(Category),这个外键叫category_id。
在admin.py文件里,我写了:
class ProductAdmin(admin.ModelAdmin):
fields = ['name','description'];
class CategoryAdmin(admin.ModelAdmin):
fieldsets = [
(None,{'fields':['name']}),
('Description',{'fields' : ['description']})
]
inlines = [ProductInline]
当我想通过Django的管理面板往数据库里插入一个产品时,发现没有可以选择分类的字段,并且收到了以下信息:
"Column 'category_id' cannot be null"
我哪里出错了?我该如何修改我的代码,让管理面板里能提供一个下拉框或者其他方式来选择它的父级(在这个例子里就是分类)呢?
1 个回答
3
把你在ProductAdmin里用的“fields”选项去掉。你可能把“fields”和“list_display”搞混了?试试这个:
class ProductAdmin(admin.ModelAdmin):
list_display = ['name','description']