Skip to main content
 首页 » 编程设计

python之如何在 django rest 框架中使用 ManytoManyField

2024年08月30日29fff_TT

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

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

通过 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, 
) 

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

请您参考如下方法:

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

(顺便说一句,我想你要找的词是participANts)