如何解决Django中是否有一种创建产品模型的方法,其中某些字段将直接在管理视图中创建?
对于一个学校项目,我想创建一个类似于Woocommerce的Django应用。我的意思是,我希望网站所有者/管理员能够添加自己的产品属性。我只需要一个简单的Product类,而不是为每种类型的产品创建类,而将具有所有产品共有的属性,例如price和sku,以及管理员添加自定义属性的方法。我举一个例子:假设您只是在电子商务商店中销售T恤。这很容易,您可以创建一个带有“ S”,“ M”或“ L”选项的字段“ size”,以及另一个具有不同颜色选择的字段“ color”。现在,假设您创建了一个电子商务Django应用程序,该应用程序应该适用于各种供应商。一个人可能会卖汽车,另一个人会卖家具,谁知道呢?您希望商店供应商管理员能够创建自己的产品属性。现在,您无法使用所有可能的字段(例如颜色,制造商,马力,高度...)来创建模型,因为对于一个模型,您将拥有太多的字段,并且您肯定会忘记一些字段。
我想我可以创建3个类:Product,ProductAttribute,ProductAttributeValue,并与Foreign和ManyToMany字段一起玩。我能够或多或少地复制Woocommerce设计,但这并不是很优雅,这使得很难使用页面上显示的产品属性在模板中显示产品过滤器。
我认为另一种解决方案可能是dynamic model fields,但在这里我看不到如何使用这些解决方案。我不确定这是如何工作的。如果有人认为这是一种方法,请举个例子,我很乐意尝试。
当然,您可以创建一个抽象的Product类并为您的不同类型的产品创建子类的解决方案就不存在了,因为我想要一个更灵活的系统,无需预先定义产品属性。
基于它的设计方式,我想知道这在Django中是否还可行。有没有人尝试过以Woocommerce风格在Django中创建电子商务CMS?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。