我使用Django-hstore库,并且有漂亮的管理小部件。主题表存储计算机的组件,如下所示:
__defineGetter__
接下来,我从cpu-world.com
获取有关必要CPU的数据,并且我在admin中有以下内联数据:
看起来很棒,但按字母顺序排序而不是逻辑排序,按照class Component(models.Model):
name = models.CharField(max_length=64)
purchase_date = models.DateField(blank=True, null=True)
product_page = models.URLField(blank=True, help_text='url to pruduct page')
<...>
data = hstore.DictionaryField(blank=True)
def load_cpu_data(self):
if self.product_page:
info = cpu_data(self.product_page)
if info: # info is a SortedDict with proper order
for key, value in info.items():
self.data[key] = value
self.save()
模型方法将数据加载到数据库中。正确顺序的示例,例如cpu-world:
load_cpu_data
是否有技术,技巧或其他东西来帮助我按照所需的顺序显示数据?例如,我发现了python OrderedDict数据类型,它与我需要的类似。但显然hstore内部结构混乱数据顺序。
答案 0 :(得分:0)
根据the hstore docs, hstore itself is not ordered:
对的顺序不重要(并且可能不会在输出上再现)。对之间或=&gt;周围的空白标志被忽略。双引号键和值,包括空格,逗号,= s或&gt; s。要在键或值中包含双引号或反斜杠,请使用反斜杠对其进行转义。