2

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

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

通过 python manager.pysqlall 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 没有参与字段。那么如何解决呢?

4

1 回答 1

3

请参阅manytomany fields上的文档。您需要先分别创建会议和人员对象,然后执行meeting.partcipates.add(person)

(顺便说一句,我认为您正在寻找的词是参与者)

于 2011-11-08T17:03:06.493 回答