django - 如何在 Django 管理页面中显示外键的属性

标签 django model django-admin

我想在对象的管理页面上显示与产品相关的类别的级别字段。

    class Category(models.Model):
        name = models.CharField(max_length=50, default=False)
        level = models.IntegerField(help_text="1, 2 ,3 or 4")

    class Product(models.Model):
        category = models.ForeignKey(Category)
        name = models.CharField(max_length=100)


        prepopulated_fields = {'slug': ('name',)}
        fieldsets = [
            ('Product Info',{'fields': ['name', 'slug','partno','description']}),
            ('Categorisation',{'fields': ['brand','category']}),

我找到了对 list_filter 的引用,但没有找到有关如何显示该字段的信息。

有人知道怎么做吗?

最佳答案

在 ModelAdmin 类上定义一个方法,该方法返回相关字段的值,并将其包含在 list_display 中。

class ProductAdmin(admin.ModelAdmin):
    list_display = ('name', 'level')
    model = Product

    def level(self, obj):
        return obj.category.level

关于django - 如何在 Django 管理页面中显示外键的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7009010/

相关文章:

python - @login_required 之后的 Django 重定向到下一个

ios - 我应该如何将歌曲持续时间表示/存储为属性?我想使用常见的歌曲持续时间格式,例如 "HH:MM:SS"

javascript - 在 django admin 中禁用/隐藏不必要的内联表单

python - 权限错误 : [Errno 13] Permission denied: '/manage.py'

django - 使用自定义用户管理打破 Django 管理中的更改密码表单

django - Pandas + Django + mod_wsgi + virtualenv

python - 使用 python 在 web 上部署 matlab 应用程序

python - CSRF验证失败。请求中止,Django Post 请求

ruby-on-rails - 我应该如何在after_create回调中编写多个条件

python - 当我想稍后填充数据时,django模型抛出IntegrityError : (1048, "Column ' xxx'不能为空”)