Django - 在数据库级别初始化多个到多个字段

时间:2015-08-15 18:42:50

标签: python django database orm initialization

开头的示例代码:

In my model:
class X(models.Model):
    someField = models.ManyToManyField(Many_values, related_name='someField')
    ......

In my controller (which is a controller, not a view, get over it, Django!)
    xes = X.objects.filter(iscool=True)   [1]
    .......
    some_function_call(xes)

In some function:
    for x in xes:
        some_table.append(x.someField.first()) [2]

现在,有没有办法,强制执行django,在[1]时刻获得那些someField值(或者至少是第一个)?

现在,我将这些值存储在[2]的表中,其中:

  1. 每次调用时都会立即选择数据库
  2. 每次调用first()函数
  3. 时似乎都会导致它们出现
  4. 效率低,因为如果加入[1]数据库选择
  5. 会更快
  6. 强制我将这些first()值存储在一个单独的表中,我必须记住
  7. 提醒我,我无法正确格式化stackoverflow帖子,所以此列表很可能会显示为纯文本
  8. 简而言之,我想要达到的目标是:
    每当我打电话

    x.someField.first()
    

    我希望它不要在数据库中查找。

0 个答案:

没有答案