我最近将 Saleor 2.9 分叉为一个网络应用程序,我正在为一家艺术画廊构建该应用程序,该画廊希望展示其待售产品并为他们的艺术家提供一些宣传。我希望能够拥有一堆卡片(例如“我们的团队”组件),从后端的艺术家表中提取数据,该表存储有关艺术家的姓名、电子邮件、出身等信息,然后显示它在前端。我正在努力了解如何修改模型/数据库以创建一个包含名称、电子邮件、信息的新“艺术家”表,然后与我在 DC 中填充的产品创建类似多对多的关系,从而提供产品“创建者”属性。 /dashboard 目录中有大量模型文件,即使当我更改核心模型以创建艺术家类时,我也不知道如何将其显示在仪表板上,以便可以从以下位置创建/修改艺术家那里。
我想这样做,以便客户(非技术)可以添加艺术家并让他们显示在我将制作的艺术家页面上,有点像产品显示在他们的页面上(但显然我不能创建一个新的类别“艺术家” “因为艺术家不能拥有价格或运输,因为他们是人;而且我还想要其他属性,例如产品不能拥有的电子邮件。他们也与网站上的工作人员不同,所以我不能使用“人员管理”功能。)
我在看this https://stackoverflow.com/questions/57237286/saleor-trying-to-modify-the-dashboard-add-job-title-to-customer-accoun问题,但从那时起,Saleor 结构发生了变化,这是对现有类(用户)的相对较小的属性更改,而不是创建和集成新类。令我惊讶的是,尽管广泛搜索了有关如何做像创建新模型这样简单的事情的任何内容,但在线文档和讨论却很少;我肯定错过了什么。
请帮忙:)谢谢!
创建新模型的 django 方式(Saleor 的后端基于 django)是:
- You should create a new app on your store backend (the django part of saleor) with:
$ python manage.py startapp artist
- 创建您的艺术家模型,并在文件中包含您想要的所有字段,例如电子邮件等:
artist/models.py
.
- 修改文件中的产品型号
product/models.py
通过导入 Artist 模型并向其添加外键(例如)关系。
- 在您的中注册新的艺术家应用程序
settings.py
的“INSTALLED_APPS”。
- Run
python manage.py makemigrations
...(检查它们是否包括您对模型的更改)
- Run
python manage.py migrate
.
应该是这样。除非我忘记了什么,在这种情况下,请在您继续处理此问题后回复。
Notes:
- 您可能需要先备份数据库。
- 此外,在应用这些迁移时,django 会要求您提供产品的占位符值,该产品在数据库中的“产品”之前具有“艺术家”字段。
参考:
- Django 模型 https://docs.djangoproject.com/en/3.0/topics/db/models/
- Django 迁移 https://docs.djangoproject.com/en/3.0/topics/migrations/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)