Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 通过URL预填充多个选项的ManyToManyField?_Django_Manytomanyfield - Fatal编程技术网

Django 通过URL预填充多个选项的ManyToManyField?

Django 通过URL预填充多个选项的ManyToManyField?,django,manytomanyfield,Django,Manytomanyfield,我试图通过URL将通过formset创建的多个变量传递到另一个表单的M2M字段 例如,假设我有两个模特:一个是演员,一个是电影。按照我设置模型的方式,用户将首先添加所有演员(假设他们在数据库中不存在),然后将他们转发到下一个表单以添加电影,我希望在M2M字段中预先填充演员。我已经能够用一个参与者来实现这一点,通过URL传递参与者id,但不知道如何使用多个参与者 下面是一些代码: models.py class Actors(model.Model): name = CharField

我试图通过URL将通过formset创建的多个变量传递到另一个表单的M2M字段

例如,假设我有两个模特:一个是演员,一个是电影。按照我设置模型的方式,用户将首先添加所有演员(假设他们在数据库中不存在),然后将他们转发到下一个表单以添加电影,我希望在M2M字段中预先填充演员。我已经能够用一个参与者来实现这一点,通过URL传递参与者id,但不知道如何使用多个参与者

下面是一些代码:

models.py

class Actors(model.Model):
      name = CharField

class Movies(model.Model):
     name = CharField
     actors = ManyToManyField(Actors)
views.py

def addmovie(request, actor_id):
     if request.method == 'POST':
         ...
     if request.method == 'GET':
         data = {'name': actor_id}
         form = AddMovieForm(initial = data)
         ...
url.py

path('add/movie/<actor_id>', views.addmovie)
path('add/movie/',views.addmovie)
以上内容将使用单个演员预先填充AddMovieForm中的演员字段。我如何让它成为多个演员?我的计划是将它们全部通过URL传递,然后将它们解析到表单中,但我不知道如何在M2M字段中选择多个值


谢谢

没关系,这是一个非常简单的修复!改变

data = {'name': actor_id}

data = {'name': [actor_id1, actorid2, actorid3]}