我创建了两个类:
Class Transactions
Account = models.CharField(max_length=50, unique=True)
class Meta_table(models.Model):
Identifier = models.OneToOneField(Transaction, primary_key=True, to_field='Account', related_name='transactions')
在管理模式下,我是否应该能够在Meta_table
表格视图中看到Transactions
?反之亦然?
如果没有,我该如何编写代码,以便Meta_table
显示Transactions
?
答案 0 :(得分:0)
要在更改列表页面上显示字段,您需要将其包含在list_display
选项中。由于您具有一对一字段,因此很容易在两个模型管理员中显示该字段。
class Meta_tableAdmin(admin.ModelAdmin):
list_display = (..., 'identifier')
list_select_related = ('identifier',)
admin.site.register(Meta_Admin, Meta_tableAdmin)
class TransactionsAdmin(admin.ModelAdmin):
list_display = ('account', 'transactions', ...)
list_select_related = ('transactions',)
admin.site.register(Transactions, TransactionsAdmin):
在这里,我们使用transactions
,因为这是相关名称。由于反向关系从Transactions
变为Meta_Table
,因此最好使用related_name='metatable'
之类的内容。
我们使用list_select_related
来阻止额外的SQL查询。