通过 URL 使用多个选项预填充 ManyToManyField?
Prepopulate ManyToManyField with multiple choices via URL?
我试图通过 URL.
将通过表单集创建的多个变量传递到另一个表单的 M2M 字段
例如,假设我有 2 个模型:一个是演员,一个是电影。我设置模型的方式是,用户首先添加所有演员(假设他们不存在于数据库中),然后将他们转发到下一个表格以添加电影,我希望在 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)
...
urls.py
path('add/movie/<actor_id>', views.addmovie)
以上将使用单个演员预填充 AddMovieForm 中的演员字段。我如何让它成为多个演员?我的计划是通过 URL 传递它们,然后将它们解析为表单,但无法弄清楚如何在 M2M 字段中实际选择多个值。
谢谢!
没关系,这是一个非常简单的修复!已更改
data = {'name': actor_id}
至
data = {'name': [actor_id1, actorid2, actorid3]}
我试图通过 URL.
将通过表单集创建的多个变量传递到另一个表单的 M2M 字段例如,假设我有 2 个模型:一个是演员,一个是电影。我设置模型的方式是,用户首先添加所有演员(假设他们不存在于数据库中),然后将他们转发到下一个表格以添加电影,我希望在 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)
...
urls.py
path('add/movie/<actor_id>', views.addmovie)
以上将使用单个演员预填充 AddMovieForm 中的演员字段。我如何让它成为多个演员?我的计划是通过 URL 传递它们,然后将它们解析为表单,但无法弄清楚如何在 M2M 字段中实际选择多个值。
谢谢!
没关系,这是一个非常简单的修复!已更改
data = {'name': actor_id}
至
data = {'name': [actor_id1, actorid2, actorid3]}