繁体   English   中英

设计模型字段(如Django中的列表)的最佳方法是什么?

[英]What is the best approach to design model fields that is like a list in Django?

假设我有一个名为“ SysApp ”的模型。 每个系统有5个文档。 每个文档都有字段:

  • 标题
  • 文件的URL(外部URL)
  • 描述

而不是定义多个字段,例如

  • title_1,
  • url_1,
  • description_1,
  • title_2,
  • url_2,
  • description_2(硬编码方式)

有没有更好的方法来处理这种用例?

一种方法是创建一个存储每个文档的模型,然后SysApp将使用ForeignKey引用每个文档。 但是,我仍然必须创建诸如document_1, document_2等之类的字段。另外,当有100多个SysApp和3-400 +的文档时,对于编辑器来说,这将非常困难。

是否可以管理列表或字典等这些字段?

谢谢

我认为,假设每个文档只与一个sysapp相关,那么组织“ SysApp-文档”关系的最佳方法是使用ForeignKey ,正如您提到的那样。

在这种情况下,您只需创建2个模型:第一个模型是具有name字段的SysApp ,第二个模型是具有字段titleDocument url to filedescriptionforeignkey键的SysApp 现在,您可以创建文档并将其附加到所需的sys。 因此,您无需指定document_2document_3等字段。

如果您需要将一个文档附加到多个sysapp中,请使用ManyToMany而不是ForeignKey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM