django中的外键关系bulk_create查询?

时间:2014-06-02 12:56:23

标签: 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)

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

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

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

1 个答案:

答案 0 :(得分:1)

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