我想创建一个数据库,管理员用户可以通过管理门户网站添加产品。产品将有一个类别字段。我希望管理员也能够添加/删除类别类型。然而我对django相对来说是个新手,不知道怎么做。我觉得我需要使用ForeignKey,但我对如何将其链接到特定类别名称感到困惑。
我创建了一个Category模型和一个Product模型:
class Category(models.Model):
created_on = models.DateTimeField(auto_now_add=True)
category_image = CloudinaryField('image', default='placeholder')
category_name = models.CharField(max_length=50, unique=True)
def __str__(self):
return self.category_name
class Product(models.Model):
created_on = models.DateTimeField(auto_now_add=True)
main_image = CloudinaryField('image', default='placeholder')
item_name = models.CharField(max_length=50, unique=True)
slug = models.SlugField(default="", null=False)
price = models.DecimalField(max_digits=8, decimal_places=2)
style = models.ForeignKey(Category, related_name='category_name', on_delete=models.CASCADE)
likes = models.ManyToManyField(User, related_name='product', blank=True)
def __str__(self):
return self.item_name
我尝试链接Product
模型中的style
字段,以便它从Category
模型中的category_name
字段提取数据。这可能吗?我可以让它以某种方式在管理门户上显示为下拉列表吗?任何帮助非常感谢!
1条答案
按热度按时间i34xakig1#
与category_name不同,您将产品与category类相关联,它将具有category_name和与category类相关的其他字段。
假设你拿到货了
现在,要让两个模型都出现在管理面板中,那么您必须在应用程序的
your-app/admin.py
文件中注册模型。