【问题标题】:show parent in child screen django admin python在子屏幕 django admin python 中显示父级
【发布时间】:2014-04-12 18:12:28
【问题描述】:

我是 python django 的新手,我们决定用这个框架开发一个应用程序 为了开发管理员,我们遇到了一些问题,这是我的代码的 sn-p 模型如下:

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"

我在哪里犯错了?如何编辑我的代码,以便在管理面板中提供下拉菜单或其他内容以选择其父级(在本例中为类别)

【问题讨论】:

  • 您是否先添加了任何类别?另外,ProductInline 的类定义在哪里?
  • 我没有把整个文件放在这里是为了让问题足够短,只提供必要的信息,效果很好我可以通过管理员轻松插入类别问题出在 Prodcut

标签: python django python-2.7 django-models django-admin


【解决方案1】:

去掉 ProductAdmin 中的“字段”选项。您可能将“字段”与“列表显示”混淆了?试试

class ProductAdmin(admin.ModelAdmin):
    list_display = ['name','description']

【讨论】:

    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 2021-10-27
    • 2020-03-21
    相关资源
    最近更新 更多