我正在尝试将Django添加到我的react项目中。目前,我一直坚持在Django中定义与我处于React状态的模型字段相关。
这是我以前的状态(当我将所有信息直接存储在状态中时
这是我的新状态(当我从api提取数据并将其存储到状态时
这是我用来将数据加载到Django数据库的JSON文件
我想要拥有“ teamBackground”,“ textColor”,“ votedUpColor”,“ votedDownColor”属性的原因是,我希望能够为每个团队设置样式。
我的问题是如何将这些属性的值从字符串转换为对象?
我尝试将这些属性定义为CharField和JSONField,但是它们似乎不起作用。有什么办法可以解决这个问题?
答案 0 :(得分:0)
对象不能存储在关系数据库AFAIK中。您也不需要存储它们。有几种可能的方法可以解决您的问题。
您可以为teamBackground,textColor,votedDownColor,votedUpColor创建单独的关系。所有这些关系将只有一列“颜色”。如果您计划向这些类中的任何一个添加更多属性,则这可能是更好的解决方案。然后,您将在这些关系和原始关系之间建立一对一的关系。
您可以将它们添加为当前关系中的列。尽管这可能是最简单的方法,但它不可扩展。如果您需要teamBackground,textColor,votedDownColor,votedUpColor的其他对象,那么您可能还需要一个单独的关系。但是,如果您正在寻找骇客,则只需将其颜色添加到原始关系中,而不是添加对象。
同样,这是一种hack,但是您可以将对象转换为JSON字符串,然后将该字符串另存为关系中的列。检查here以获得有关在python中解码和编码JSON的更多信息。