Reputation: 164
how to show category and subcategory : Admin : Select category -> show subcategory using 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
Upvotes: 0
Views: 1233
Reputation: 412
remove Subcategory
model and write Category
model like this
class Category(models.Model):
categoryName=models.CharField(max_length=100)
parent = models.ForeignKey("Category", null=True, blank=True)
def __unicode__(self):
return self.categoryName
and remove subcategory
field from Product
.
Writing like this is more neat
Upvotes: 1
Reputation: 86
What you are looking is a reverse relationship, to do that you use models.ForeignKey('self', on_delete=models.CASCADE). The official doc is here https://docs.djangoproject.com/en/1.10/ref/models/fields/#foreignkey
I hope it helps Best
Upvotes: 0