Django:通过模型自动生成的StackedInline的Friendlier标头?
发布于 2021-01-29 17:12:48
我正在使用Django管理员StackedInline,如下所示:
class BookInline(admin.StackedInline):
model = Book.subject.through
verbose_name = 'Book'
verbose_name_plural = 'Books with this subject'
class SubjectAdmin(admin.ModelAdmin):
inlines = [
BookInline,
]
都可以,但是标题很丑陋:
Books With This Subject
Book: Book_subject object
有人知道我该如何摆脱或改变这一Book_subject object
部分?
谢谢!
关注者
0
被浏览
44
1 个回答
-
我从未使用过像这样的m2m字段,所以谢谢!学到了新东西。
我发现了解决该问题的两种方法:
1:只需
__unicode__
使用新功能重新分配功能class MyInline(admin.TabularInline): MyModel.m2m.through.__unicode__ = lambda x: 'My New Unicode' model = MyModel.m2m.through
2:为m2m.through模型设置代理模型,并改用该模型
class MyThrough(MyModel.m2m.through): class Meta: proxy = True def __unicode__(self): return "My New Unicode" class MyInline(admin.TabularInline): model = MyThrough