Skip to main content
 首页 » 编程设计

python之如何在 Django 模型中存储任意数量的字段

2025年05月04日22mfrbuaa

我是 python/django 的新手。我需要在 Django 模型中存储任意数量的字段。我想知道 django 是否有解决这个问题的东西。

通常,我会在列中存储一些 XML 来执行此操作。 django 是否提供了一些类来简化此操作,无论是 XML 还是其他(更好的)方法?

谢谢, 皮特

请您参考如下方法:

有很多方法可以解决这个问题,根据您的情况,其中任何一种都可能有效。您当然可以使用 TextField 来存储 XML 或 JSON 或任何其他形式的文本。结合 Python 的 pickle 功能,您可以做一些更简洁的事情。

您可以查看 DjangoSnippets 上的 Django Pickle Field 定义: http://www.djangosnippets.org/snippets/513/

这允许您将 Python 字典转储到字段中并进行一些操作,这样当您引用这些字段时,您可以轻松访问字典,而无需重新解析 XML 或任何东西。

我想您也可以探索编写一个自定义字段定义,它可以为其他序列化格式做类似的事情,尽管我不确定这会有多大用处。

或者您可以简单地重构您的模型以利用 ManyToMany 字段。您可以为通用键、值对创建一个模型,然后在您的主要模型上,您将拥有对该通用键、值模型的 M2M 引用。通过这种方式,您可以利用更多 Django ORM 来引用数据等。