【问题标题】:Connecting a django application to a drupal database?将 django 应用程序连接到 drupal 数据库?
【发布时间】:2010-05-04 12:43:07
【问题描述】:

我在 mysql 上的 drupal 6 安装中有 3 - 4000 个节点,并希望通过我的 django 应用程序访问这些数据。我使用 manage.py inspectdb 来获取模型结构的骨架。我猜drupal的数据库方案有很好的/历史原因,但发现有一些难以理解的结构,并且在数据库上应用django模型存在一些挑战。到目前为止的一些经验是:

  • 节点和节点修订相互交织,我通过使用 OneToOneField 解决了这个问题(不需要版本)。这意味着节点的主体可以通过 node.vid.body 访问,但它可以工作。
  • 外键需要定义合适的db_column来整理主键。
  • 术语需要使用带有 ManyToManyField.through 的中间表。
  • Drupal 将任何图像的原始版本和缩略图/调整大小的版本都存储为文件表中的文件。

有人有在 django 中访问 drupal 数据的经验吗?

  • 是否有更好的解决方案,例如节点 节点修订关系?
  • Drupal 将时间/日期存储为整数字段中的 unix 样式时间戳。有什么建议吗?时区如何?

【问题讨论】:

    标签: mysql django drupal django-models


    【解决方案1】:

    当一个节点可以有多个修订时,您将如何对 OneToOne 关系进行节点和修订。现在可能很方便/可能,但以后可能会给您带来问题。

    您应该创建一个管理器或方法来访问最新版本的正文。

    处理时间戳时的问题始终是时区信息消失了。如果您想要该信息,您需要从 Drupal 服务器获取。但是,如果您使用相同的时区,除非您需要非常具体的时间,否则这应该不是问题。

    【讨论】:

    • 我同意我的 OneToOne 不是最漂亮的。对于我的特定用例,我不使用修订功能,并且 nid 和 vid 始终是并行的。
    猜你喜欢
    • 1970-01-01
    • 2011-08-24
    • 2016-08-18
    • 2011-12-04
    • 2013-01-10
    • 2011-07-27
    • 2011-07-28
    • 2014-11-26
    相关资源
    最近更新 更多