【发布时间】:2011-12-31 22:23:34
【问题描述】:
我有以下模型,它与自身具有多对多关系
class Ticket(models.Model):
STATUS = (
(0, "Open"),
(1, "Closed"),
)
status = models.SmallIntegerField(default=0,choices=STATUS)
title = models.CharField(max_length=100)
replies = models.ManyToManyField('self')
description = models.TextField()
我正在尝试使用以下代码在管理员中将此模型显示为内联
class TicketReply(admin.TabularInline):
model = Ticket.replies.through
但是我一直收到这个错误
<class 'tsn.ticket.models.Ticket_replies'> has more than 1 ForeignKey to <class 'tsn.ticket.models.Ticket'>
所以我做错了,还是不支持?
【问题讨论】:
-
fk_name 和 related_name 是您应该检查的设置:docs.djangoproject.com/en/dev/ref/contrib/admin/…
-
我一直收到同样的错误,即使在添加了相关名称设置之后,并且在添加 fk_name 时它说“TicketReply.fk_name”指的是模型“Ticket_replies”中缺少的字段“回复”,我不'不认为这是支持的,因为查看源代码,在验证内联 django 时需要一个外键
-
你也应该发布 Ticket_replies 模型
标签: python django django-admin django-orm