相关疑难解决方法(0)

Django多对多内联 - 如何显示通过模型引用的字段?

我正在尝试在django Admin中自定义多个内联,但是我无法显示底层模型的字段.

这是一个简化的例子.也许你可以告诉我如何引用它们?

这是我的模特:

class Clown(models.Model):
    name = models.CharField(max_length=255)
    def edit_link(self):
        return ...

class Circus(models.Model):
    clowns = models.ManyToManyField(Clown, blank=True, through='WorkedAt')
    name = models.CharField(max_length=255)

class WorkedAt(models.Model):
    clown = models.ForeignKey(Clown)
    circus = models.ForeignKey(Circus)
Run Code Online (Sandbox Code Playgroud)

和我的管理员:

class ClownInline(admin.TabularInline):
    model = WorkedAt
    fields = ['clown__name','clown__edit_link']


class CircusAdmin(admin.ModelAdmin):
    inlines = [
        ClownInline,
    ]
    exclude = ('clowns',)
Run Code Online (Sandbox Code Playgroud)

但是我收到此错误:

Unknown field(s) (clown__name) specified for WorkedAt
Run Code Online (Sandbox Code Playgroud)

(我在Django 1.6上)

更新: 为什么这不起作用.(通过模型添加计算字段.)

class Clown(models.Model):
    name = models.CharField(max_length=255)
    def edit_link(self):
        return ...

class Circus(models.Model):
    clowns = models.ManyToManyField(Clown, blank=True, through='WorkedAt')
    name = models.CharField(max_length=255) …
Run Code Online (Sandbox Code Playgroud)

django django-forms django-admin django-1.6

10
推荐指数
1
解决办法
2528
查看次数

标签 统计

django ×1

django-1.6 ×1

django-admin ×1

django-forms ×1