首页 > 解决方案 > 如何根据所选类别在 Django 管理中显示子类别?

问题描述

我是 django 的新手,我正在做在线商店,我想使用管理面板创建项目。当我为项目选择主要类别并尝试选择子类别时,我什么也看不到。我试过 ChainedForeignKey

我的模型

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


class Collection(models.Model):
    name = models.CharField(max_length=255)
    slug = models.SlugField(max_length=255, unique=True)

    def __str__(self):
        return self.name


class Category(models.Model):
    name = models.CharField(max_length=255)
    slug = models.SlugField(max_length=255, unique=True)
    collection = models.ForeignKey(Collection, on_delete=models.CASCADE)

    def __str__(self):
        return self.name


class Item(models.Model):
    name = models.CharField(max_length=255)
    slug = models.SlugField(max_length=255, unique=True)

    collection = models.ForeignKey(Collection, on_delete=models.CASCADE)
    category = ChainedForeignKey(Category, chained_field='category', chained_model_field='collection')
    description = models.TextField(blank=True)
    size = models.CharField(max_length=255)
    price = models.PositiveIntegerField()
    image = models.ImageField(upload_to='photos/%Y/%m/%d/')

    def __str__(self):
        return self.name

标签: pythondjango

解决方案


推荐阅读