我正在尝试将通过表单集创建的多个变量通过URL传递给另一个表单的M2M字段。
例如,假设我有两个模特:一个演员,一个电影。我设置模型的方式是,用户将首先添加所有演员(假设它们在数据库中尚不存在),然后将它们转发到下一个表单以添加电影,我希望在其中要在M2M领域中预先填写的演员。我已经能够通过单个演员执行此操作,将演员ID通过URL传递,但无法弄清楚如何使用多个演员。
这里是一些代码:
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)
以上内容将使用单个actor预先填充AddMovieForm中的Actor字段。如何使它成为多个演员?我的计划是将所有内容都通过URL传递,然后将其解析为表单,但无法弄清楚如何在M2M字段中实际选择多个值。
谢谢!
没关系,这是一个非常简单的解决方法!已更改
data = {'name': actor_id}
to
data = {'name': [actor_id1, actorid2, actorid3]}