Python Django bulk_为MySQL上的多个字段创建

Python Django bulk_为MySQL上的多个字段创建,python,django,orm,Python,Django,Orm,我有一个模型: class Content(models.Model): can_see = m.ManyToManyField('users.User',blank=True,related_name='can_see') can_edit = m.ManyToManyField('users.User',blank=True,related_name='can_edit') can_delete

我有一个模型:

class Content(models.Model):
    can_see             = m.ManyToManyField('users.User',blank=True,related_name='can_see')    
    can_edit            = m.ManyToManyField('users.User',blank=True,related_name='can_edit')
    can_delete          = m.ManyToManyField('users.User',blank=True,related_name='can_delete')
    text                = m.CharField(max_length=160, blank=True)
    name                = m.CharField(max_length=160, blank=True)
我尝试使用批量创建来创建许多“内容”,并让用户通过填写以下字段来选择哪些用户可以管理内容:

def handle_csv(request):
    if request.method == 'POST':
        form = UploadCSVForm(request.POST, request.FILES)
        if form.is_valid():
            data_can_see      =  form.cleaned_data['can_see']
            data_can_edit     =  form.cleaned_data['can_edit']
            data_can_delete   =  form.cleaned_data['can_delete']

            csvfile = TextIOWrapper(request.FILES['csvfile'].file, encoding='utf-8')

            table = csv.reader(csvfile)
            created = Content.objects.bulk_create([Content(text=data[0],name=data[1]) for data in table])
                     
              ...
            
            return render(request, 'importing/success.html')
我现在希望添加manytomany关系,以便为所选用户提供我想要的内容对象权限,但我无法在批量创建中设置m2m关系

我试过这个:

for content in created:
    content.can_see.set(data_can_see)
    content.can_edit.set(data_can_edit)
    content.can_delete.set(data_can_delete)
但它不起作用,因为它说在可以设置m2m关系之前,对象需要有一个
ID
,我不明白为什么我的对象列表没有
ID
。 我想我不明白如何使用bulk_create创建多个对象

我还尝试在上面提到的循环中添加
content.save()
,但这会导致创建两组对象,一组有关系,另一组没有关系


有人能为我指出正确的方向来理解批量创建并解决此问题吗?

如文档中所述:“如果模型的主键是自动字段,则只能在某些数据库(当前为PostgreSQL和MariaDB 10.5+)上检索主键属性。在其他数据库上,将不会设置该属性。”。因此,
bulk\u create
不会为构建的对象设置主键。