Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django在不影响数据库的情况下创建对象_Python_Django - Fatal编程技术网

Python django在不影响数据库的情况下创建对象

Python django在不影响数据库的情况下创建对象,python,django,Python,Django,我有一个函数,可以计算数据库中全年的数据总和(这不是一个简单的总和,每次都有一个不断增加的数字乘以它)。它是在视图中计算的,我需要将它们传递给模板。我将其存储在字典portfolio\u dict[year]+=amount {'2013': Decimal('92.96892879384746351465539182'), '2012': Decimal('71.48765907571338816005401399')} 但是我也需要一些额外的数据来发送。比如说: date:date amo

我有一个函数,可以计算数据库中全年的数据总和(这不是一个简单的总和,每次都有一个不断增加的数字乘以它)。它是在视图中计算的,我需要将它们传递给模板。我将其存储在字典
portfolio\u dict[year]+=amount

{'2013': Decimal('92.96892879384746351465539182'), '2012': Decimal('71.48765907571338816005401399')}
但是我也需要一些额外的数据来发送。比如说:

date:date
amount:Decimal
year:string
我知道也有一年和一次约会听起来有点愚蠢。我使用年份作为索引。如何将这些数据传递到模板/将日期添加到当前词典? 但现在,我总是有一个模型,并且我传递了该模型实例的列表。但现在我不需要将这些数据存储在数据库中,所以我不想创建模型。 若我不想在数据库中创建新类,那个么在django中在哪里创建新类呢?
还是应该使用集合或数据结构?

只有
django.db.Model
实例存储在数据库中(并且只有在您明确要求时)。否则,这只是普通的老Python,您可以创建并使用自己认为合适的类

但无论如何:如果您只需要一个(日期、金额)项目的年度索引集合,那么一个目录就足够了:

{
   '2013': {
      'amount': Decimal('92.96892879384746351465539182'), 
      'date': datetime.date(2013, 10, 25)
      },
   # etc
}
或者,如果您每年需要不止一个(金额、日期),请提供一份带有列表或目录的目录:

{
   '2013': [
      {
        'amount': Decimal('92.96892879384746351465539182'), 
        'date': datetime.date(2013, 10, 25)
      },
      {
        'amount': Decimal('29.9689287'), 
        'date': datetime.date(2013, 10, 21)
      },
    ],

   # etc
}

事实上,正确的结构取决于您将如何使用数据。

您需要以某种方式存储数据,否则计算每个视图都不会有问题。向我们展示您的视图和模板