我有以下模型,它与自身存在多对多关系
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'>
所以我做错了,还是不支持?
最佳答案
可能来晚了,但我试着回答这个问题。 Ticket.replies.through 是一个管理多对多关系的表,它有字段 from_ticket 和 to_ticket(FK to model Ticket),您可以将这些字段设置为 TabularInline 的选项 fk_name。
class TicketReply(admin.TabularInline):
model = Ticket.replies.through
fk_name = 'from_ticket'
关于python - 用于递归 ManyToMany 的 Django Admin 内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8177609/