在 Saleor 中编辑模型并扩展数据库结构

2024-01-16

我最近将 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)是:

  1. You should create a new app on your store backend (the django part of saleor) with:

    $ python manage.py startapp artist

  2. 创建您的艺术家模型,并在文件中包含您想要的所有字段,例如电子邮件等:artist/models.py.
  3. 修改文件中的产品型号product/models.py通过导入 Artist 模型并向其添加外键(例如)关系。
  4. 在您的中注册新的艺术家应用程序settings.py的“INSTALLED_APPS”。
  5. Run python manage.py makemigrations...(检查它们是否包括您对模型的更改)
  6. 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(使用前将#替换为@)

在 Saleor 中编辑模型并扩展数据库结构 的相关文章

随机推荐

  • 使用任何 Android 设计支持库元素时出错

    从设计支持库中扩充任何内容时出错 xml
  • 如何从 Ruby on Rails 解析 json 数据或(json 代码)

    我有一个 Ruby on Rails 源代码 现在我想解析数据并发送数据 在我的代码中 它将从用户获取名称并显示它 如何解析 ROR 中的数据 这是我的controller rb代码 def index hotels Hotel all r
  • shell 文本编辑器如何工作?

    我对编程相当陌生 但我想知道 shell 文本编辑器 如 vim emacs nano 等 如何能够控制命令行窗口 我主要是一名 Windows 程序员 所以也许 nix 上的情况有所不同 据我所知 只能将文本打印到控制台并要求输入 文本编
  • 如何扫描 pandas 数据帧中所有大于某值的值并返回与该值对应的行号和列号?

    我有一个问题 我有如下所示的巨大数据集 相关系数矩阵 A B C D E A 1 0 413454352 0 615350574 0 479720098 0 34261232 B 0 413454352 1 0 568124328 0 31
  • 提交-拉-合并-推还是拉-合并-提交-推?

    我们几周前开始使用 Mercurial 大多数开发人员都遵循以下工作流程 致力于某项功能 commit m 致力于功能 ABC pull u If branch merge 提交 m 合并 push 今天 我们的一位开发人员建议我们这样做
  • Keras ImageDataGenerator 流程方法中的 save_to_dir 遇到问题

    我想保存 ImageDataGenerator 正在创建的增强图像 以便以后使用它们 当我执行以下代码时 它运行正常 但我希望保存的图像没有显示在我尝试保存它们的目录中 gen image ImageDataGenerator rotati
  • Future 任务完成后 Java 进程没有退出

    这是我使用 Future 的代码片段 import java util concurrent import java util public class FutureDemo public FutureDemo Future Executo
  • 更改或删除 App Store 中的开发者名称

    我已经为我的客户创建了一个应用程序 我们已经用我的帐户发布了该应用程序 现在 他们想将开发商名称更改为他们公司的名称 有没有办法更改开发商名称 我可以将我的应用程序移至他们的企业帐户 以便开发者名称更改为他们的企业名称吗 是的 自 WWDC
  • 阅读 Fetch Promise 的正文

    我有以下用于上传到 Google Cloud 存储的快速端点 它工作得很好 来自 google api 的响应给了我一个唯一的文件名 我想将其传回我的前端 app post upload req res gt var form new fo
  • Spring Boot 与 POM 打包聚合器

    是否可以使用 Spring Boots Maven 插件命令spring boot run当项目的父POM因其子项目而使用打包模式POM时 我有一个多模块 Maven 项目 其中有一个 主 POM 它又是 Spring Boot 父模块的子
  • iPhone内存警告级别=2

    我有一个应用程序 可以将大量视图堆叠在一起 在某些时候 我收到内存警告级别 2 这是预期的 问题是 当我运行 Instruments 时 我没有任何内存泄漏 并且该应用程序占用了大约 9 10MB 的空间 这不是that我会说很多吗 问题是
  • 如何根据属性查找两个数组列表之间的差异?

    我有两个数组列表 每个都有 Employee 类型的对象列表 Employee 类如下所示 public class Employee Employee String firstname String lastname String emp
  • 防止 Thread.CurrentPrincipal 跨应用程序域传播

    有人可以阻止当前线程的 IPrincipal 在应用程序域边界上传播吗 我无法控制分配给线程的 IPrincipal 但我可以控制创建应用程序域 我想要这样做的原因是为了防止在主要对象类型程序集在其他域中不可用时发生序列化错误 Edit E
  • 如何为 1x1 Android 小部件创建清晰的背景图像?

    我正在创建一个 1x1 小部件 无论我尝试什么 我都无法让背景图像看起来漂亮且清晰 我已经阅读了几乎所有我能找到的资源 但我仍然无法获胜 我正在为 HTC Desire Nexus 1 进行设计 希望有人告诉我在 Photoshop 中创建
  • 在 Node.JS 中引用相对于应用程序根目录的文件的正确方法

    我有一个在 AWS EC2 的 Linux 上运行的 Node JS 应用程序 它使用 fs 模块读取 HTML 模板文件 这是应用程序的当前结构 server js templates my template html services
  • Angular 6 迁移 -.angular-cli.json 到 angular.json

    我已经将我的项目升级到 Angular 6 除了转换之外一切都很顺利 angular cli json文件 从我遵循的指南来看 据说这会自动转换它 npm install g angular cli npm 安装 angular cli n
  • 构建 SparkSession

    我有在齐柏林飞艇担任翻译的火花 我使用的是Spark2 0 我构建了一个Session Create 一般来说 你不应该初始化SparkSession nor SparkContext在齐柏林飞艇 Zeppelin 笔记本配置为为您创建会话
  • Haskell 中 (^) 的奇怪行为

    为什么 GHCi 下面给出了错误的答案 GHCi gt 20 24373193905347 12 2 20 24373193905347 24 4 503599627370496e15 Python3 gt gt gt 20 2437319
  • 从沙箱 iFrame 到主窗口的 PostMessage,origin 始终为 null

    关于 javascript postMessage 事件的事件起源 我不明白一些事情 这是我的主页 h1 Test h1 h2 Outside h2 和我的 i
  • 在 Saleor 中编辑模型并扩展数据库结构

    我最近将 Saleor 2 9 分叉为一个网络应用程序 我正在为一家艺术画廊构建该应用程序 该画廊希望展示其待售产品并为他们的艺术家提供一些宣传 我希望能够拥有一堆卡片 例如 我们的团队 组件 从后端的艺术家表中提取数据 该表存储有关艺术家