如何使用模板创建"Many to Many"对象?



我想允许用户使用模板加入列出的组之一。所以我在这里发现了 2 个问题:

  1. "加入"按钮作为具有多对多字段的表单。
  2. 将 python 函数作为模板中的按钮操作运行。如果可能的话,我想运行这样的东西:

    group.members.add(request.user)
    

    并希望刷新页面。

models.py

class Group(models.Model):
    name = models.CharField(max_length=500)
    creator = models.ForeignKey(User)
    members = models.ManyToManyField(User, blank=True, related_name='member')

模板.html

{% for group in groups %}
  <p>{{ group.name }} <button type="submit" action="">Join</button></p>
  <hr>
{% endfor %}

多对多字段没有什么特别之处。您想在任何地方执行的任何事情始终需要视图。您需要一个新视图,其中包含从按钮调用的新 URL,在该视图中,您可以获取对象并根据需要对其进行修改。

最新更新