如何自动将配置文件添加到 ManyToManyField?

How to automatically add a profile to a ManyToManyField?

我有这个课程模型

class Minicursos(models.Model):
     nome_minicurso = models.CharField(max_length=150)

     resumo = models.TextField(max_length=500, default = "")
     descricao = models.TextField(max_length=500, default = "")

     imagem_minicurso = models.ImageField(upload_to="gallery", height_field=None, 
     width_field=None, max_length=None, default = "")
     video_explicativo = models.FileField(upload_to="video/%y", default="",)

     carga_horaria = models.IntegerField()

     alunos = models.ManyToManyField(Profile, 'Alunos')

我的html是这样的

{% if user.is_authenticated %}
        <form id="ingressar-form" method="POST">
            {% csrf_token %}
            {{ form.as_p }}
            <a href="/minicurso/{{minicurso.id}}/aulas.html"><button id="ingressar" type="submit" value="Create">INGRESSAR</button></a>
        </form>
{% else %}
    <strong><p>Para ingressar no minicurso faça <a href="/login">Login</a> ou <a href="/register">Registre-se</a>.</p></strong>
{% endif %}

我希望当用户点击 'ingressar' 他的个人资料时,它会被添加到现场学生 (alunos)

我试过了

if request.method == 'POST':
    
    aluno = Minicursos.alunos.add(User)
    aluno.save()

但是我收到这个错误

aluno = Minicursos.alunos.add(用户) AttributeError: 'ManyToManyDescriptor' 对象没有属性 'add'

有人可以帮帮我吗!?

您只能将对象添加到模型实例,而不能添加到 class 对象。所以你首先需要创建一个 Minicursos.

的实例

您可以查看official documentation以获得详细说明。