django中的外键关系bulk_create查询?

jit*_*hin 8 django python-2.7

是否可以在具有外键关系的列上使用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)
Run Code Online (Sandbox Code Playgroud)

类似的查询适用于get_or_create()方法,但在与bulk_create()一起使用时会返回错误,例如:

Reportsquery.objects.get_or_create(group__id=6,quseryset="abc")
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*att 5

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