如何显示类别和子类别: 管理员:选择类别 - >使用Django显示子类别
class Category(models.Model):
categoryName = models.CharField(max_length=100)
def __unicode__(self):
return self.categoryName
class Subcategory(models.Model):
subcategoryName=models.CharField(max_length=100)
category = models.ForeignKey(Category, null=True, blank=True)
def __unicode__(self):
return self.subcategoryName
class Product(models.Model):
productName = models.CharField(max_length=100)
productImage = models.ImageField(upload_to='documents/')
category = models.ForeignKey(Category, null=True, blank=True)
subcategory = models.ForeignKey(Subcategory, null=True, blank=True)
def __unicode__(self):
return self.productName
答案 0 :(得分:1)
删除Subcategory
模型,然后像这样编写Category
模型
class Category(models.Model):
categoryName=models.CharField(max_length=100)
parent = models.ForeignKey("Category", null=True, blank=True)
def __unicode__(self):
return self.categoryName
并从subcategory
中删除Product
字段。
像这样写作更整洁
答案 1 :(得分:0)
你正在寻找的是一种反向关系,为此你要使用models.ForeignKey(' self',on_delete = models.CASCADE)。 官方文档在这里https://docs.djangoproject.com/en/1.10/ref/models/fields/#foreignkey
我希望它有所帮助 最好