Django 德扬戈。此函数的关键字参数无效。许多

Django 德扬戈。此函数的关键字参数无效。许多,django,Django,我有一个错误: “people”是此函数的无效关键字参数 class Passage(models.Model): name= models.CharField(max_length = 255) who = models.ForeignKey(UserProfil) class UserPassage(models.Model): passage = models.ForeignKey(Passage) people = models.ManyToManyFi

我有一个错误:

“people”是此函数的无效关键字参数

class Passage(models.Model):
    name= models.CharField(max_length = 255)
    who = models.ForeignKey(UserProfil)

class UserPassage(models.Model):
    passage = models.ForeignKey(Passage)
    people = models.ManyToManyField(UserProfil, null=True)

class UserProfil(models.Model):
    user = models.OneToOneField(User)
    name = models.CharField(max_length=50)
我尝试:

def join(request):
    user = request.user
    user_profil = UserProfil.objects.get(user=user)
    passage = Passage.objects.get(id=2)
    #line with error
    up = UserPassage.objects.create(people= user_profil, passage=passage)
    return render_to_response('thanks.html')

如何正确地做到这一点?谢谢

您需要先保存/创建对象,然后才能添加
ManyToMany
关系:

up = UserPassage.objects.create(passage=passage)
up.people.add(user_profil)
ManyToMany
关系不会保存为表中的列。请阅读此处的第一个答复,以获得良好的解释:

@DanielRoseman:因为ManyToMany不是字段,至少不是作为数据库列存在的字段。这是一种与链接表的关系。您会发现已经创建了一个名为myapp_teacher_subjects的表,其中包含指向teacher和subjects的外键