作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我需要在 Django 模型中存储一些数据。这些数据并不等于模型的所有实例。
起初我考虑将模型子类化,但我试图保持应用程序的灵 active 。如果我使用子类,每次我需要一种新的对象时,我都需要创建一个完整的类,这不好。我最终也会得到很多子类,只是为了存储一对额外的字段。
我真的觉得字典是最好的方法,但是 Django 文档中没有关于在 Django 模型中存储字典的内容(或者我找不到它)。
有什么线索吗?
最佳答案
如果您要查找的确实是字典之类的任意数据,您可能可以使用两级设置,其中一个模型是容器,另一个模型是键值对。您将创建容器的一个实例,创建每个键值实例,并将键值实例集与容器实例相关联。比如:
class Dicty(models.Model):
name = models.CharField(max_length=50)
class KeyVal(models.Model):
container = models.ForeignKey(Dicty, db_index=True)
key = models.CharField(max_length=240, db_index=True)
value = models.CharField(max_length=240, db_index=True)
它并不漂亮,但它可以让您使用 DB 访问/搜索字典的内部结构,而 pickle/serialize 解决方案则不会。
关于python - 如何在 Django 模型上存储字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/402217/
我是一名优秀的程序员,十分优秀!