Django ManyToMany 态度 add// 错误

我有一个模特,看起来像


class PL/models.Model/:
locid = models.AutoField/primary_key=True/
mentionedby = models.ManyToManyField/PRT/

class PRT/models.Model/:
tid = ..


因此 "很多到很多人" 表B. mysql 形成像


+------------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------+------+-----+---------+----------------+
| id | int/11/ | NO | PRI | NULL | auto_increment |
| PL_id | int/11/ | NO | MUL | NULL | |
| PRT_id | bigint/64/ | NO | MUL | NULL | |
+------------------+------------+------+-----+---------+----------------+


现在,如果LP是一个对象 PL 和那个 PRT, 然后你做了


pl.mentionedby.add/prt/


给了我一个错误

无效的整数值: 'PRT object'
列 'prt_id' 排队 1"

尽管


pl.mentionedby.add/prt.tid/


工作伟大 - 有一个预订。

我可以看到所有的元素
pl.mentionedby.all//

, 但我不能去提到的对象 PRT 看看
prt.mentionedby_set.all//

.

有谁知道为什么会发生这种情况? 如何最好解决它?

谢!
已邀请:

涵秋

赞同来自:

添加
prt

直接应该开始第一次尝试。 你是如何删除的
pl


prt

? 假设您在数据库中有一些数据,请尝试从中尝试这些命令 Django shell 并查看它是否有效。 似乎在这件事上有一些缺少的信息。 发射后
python manage.py shell

:


from yourapp.models import PL
pl = PL.objects.get/id=1/
prt = PRT.objects.get/id=1/
pl.mentionedby.add/prt/

冰洋

赞同来自:

这些全部型号是吗? 我只能假设某些东西被取消,这可能不应该是。

你能发布完整代码吗?

要回复问题请先登录注册