1

我正在使用 Django-hstore 库,并且有漂亮的管理小部件。主题表存储计算机的组件,如下所示:

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.com必要的 CPU 中获取数据,并且在管理员中有以下内联数据:

在此处输入图像描述

看起来不错,但按字母顺序排序而不是逻辑排序,以便在load_cpu_data模型方法中将数据加载到数据库中。正确顺序的示例,例如在 cpu-world 上:

Family
Model number
Frequency
Socket
Microarchitecture
Processor core
Manufacturing process
Data width
The number of CPU cores
The number of threads
Integrated graphics
Thermal Design Power

是否有技术、技巧或其他东西可以帮助我以所需的顺序显示数据?例如,我找到了 python OrderedDict数据类型,这与我需要的类似。但显然 hstore 内部结构乱七八糟的数据顺序。

4

1 回答 1

0

根据hstore 文档, hstore 本身没有排序

对的顺序不重要(并且可能不会在输出时复制)。对之间或 => 符号周围的空格将被忽略。包含空格、逗号、=s 或 >s 的双引号键和值。要在键或值中包含双引号或反斜杠,请使用反斜杠对其进行转义。

于 2017-10-05T14:15:39.380 回答