【问题标题】:foreign key relations in django bulk_create query?django bulk_create 查询中的外键关系?
【发布时间】:2014-07-22 14:30:08
【问题描述】:

是否可以对具有外键关系的列使用 bulk_create 方法?

class Reports(models.Model):
    groupname=models.CharField(max_length=250, null=True, blank=True);
    datecreated = models.DateTimeField(null=True, blank=True);


class Reportsquery(models.Model):
    group = models.ForeignKey(Reports,null=True, blank=True);
    queryset=models.CharField(max_length=1000, null=True, blank=True);

list=[Reportsquery({"group__id":6,"queryset":"abc"}),....,...]

Reportsquery.objects.bulk_create(list)

类似的查询适用于 get_or_create() 方法,但在使用时返回错误 批量创建() 例如:

Reportsquery.objects.get_or_create(group__id=6,quseryset="abc")

上面的例子将 group__id=6 插入到 Reportsquery 表中

【问题讨论】:

标签: django python-2.7


【解决方案1】:

如果您要在Reportsquery 旁边创建Reports 的实例,那么没有bulk_create() 不会这样做。但是,如果Reports 的实例已经存在于数据库中,那么您可以手动将它们的pk 添加到您传递给bulk_create() 的列表中。然后将创建与Reports 具有正确关系的Reportquery 实例。

【讨论】:

  • 不,我只是想映射存在的 Reports 实例。无论如何,'_' 工作 Thanx..
  • 如果 OP 试图在 Reportsquery 旁边创建 Reports 的实例,是另一种方法吗,因为 bulk_create() 不会?
猜你喜欢
  • 2020-01-02
  • 1970-01-01
  • 2012-10-10
  • 2020-04-20
  • 1970-01-01
  • 2012-06-03
  • 2010-09-10
  • 2011-12-06
  • 2019-06-12
相关资源
最近更新 更多