Django管理后台显示外键值

3
我正在尝试在Django管理面板中显示外键值本身。
admins.py:
class CateogoriesAdmin(admin.ModelAdmin):

list_display = ('category_name',)

class CateogoriesItemAdmin(admin.ModelAdmin):

list_display = ('category_name', 'item_name', 'item_description',)


Models.py:
class Category(models.Model):
    category_name = models.CharField(max_length=50)

class CategoryItems(models.Model):
    category_name = = models.ForeignKey(Categories, related_name='categoriesfk', on_delete=models.PROTECT)
    item_name = models.CharField(max_length=50)
    item_description = models.CharField(max_length=100)

通过上述代码,我只得到了类别对象(1)作为值,我希望在Django管理面板中显示实际值而不是对象(1),例如如果有一个名为“自行车”的类别,它应该显示为自行车。

1个回答

6

您需要告诉Django在将对象类别表示为字符串时要显示什么。例如:

class Category(models.Model):
    category_name = models.CharField(max_length=50)

    def __str__(self):
        return self.category_name

太棒了!谢谢。 - user9305920

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接