如何在djangorestframework中使用ManytoManyField

时间:2011-11-08 15:02:53

标签: python django manytomanyfield django-rest-framework

我正在使用djangorestframework。一次会议的模型可以有很多参与者。 所以我尝试使用Django的ManytoManyField:

class Meeting(models.Model):
    name=models.CharField(max_length=100)
    participates=models.ManyToManyField(Person)

by python manager.py sqlall XXX数据库表是:

CREATE TABLE "OA_meeting_participates" (

    "id" integer NOT NULL PRIMARY KEY,
    "meeting_id" integer NOT NULL,
    "person_id" integer NOT NULL REFERENCES "OA_person" ("id"),
    UNIQUE ("meeting_id", "person_id")
)
;
CREATE TABLE "OA_meeting" (

    "id" integer NOT NULL PRIMARY KEY,
    "name" varchar(100) NOT NULL,
)

问题出现了:当我通过选择一些人创建会议时,服务器响应'participates'是此功能的无效关键字参数。 因为OA_meeting没有参与字段。 那怎么解决呢?

1 个答案:

答案 0 :(得分:3)

查看manytomany fields上的文档。您需要先单独创建会议和人物对象,然后执行meeting.partcipates.add(person)

(顺便说一下,我认为你要找的是参与者)