gpt4 book ai didi

python - 继承修改一个 `Meta`类

转载 作者:行者123 更新时间:2023-11-28 20:45:59 25 4
gpt4 key购买 nike

所以我有一个基本的 ItemTable,然后是一些从它继承的表。我似乎无法修改 Meta 类。我试着正常地包含元类但没有用,然后我找到了 this bug report并在下面实现。它悄无声息地失败了:表格仅使用父元类中的列呈现。

class ItemTable(tables.Table):

class Meta:
model = Item
attrs = {"class":"paleblue"}
fields = ('name', 'primary_tech', 'primary_biz', 'backup_tech', 'backup_biz')

class ApplicationTable(ItemTable):

def __init__(self, *args, **kwargs):
super(ApplicationTable, self).__init__(*args, **kwargs)

class Meta(ItemTable.Meta):
model = Application
fields += ('jira_bucket_name',)

编辑:修改后的代码如图所示。我现在收到一个 NameError,表示 fields 未定义。

最佳答案

尝试:

class ApplicationTable(ItemTable):
class Meta:
model = Application
fields = ItemTable.Meta.fields + ('jira_bucket_name',)

在扩展表中的 Meta 时,您会遇到与在普通 Django 模型中一样的问题。

关于python - 继承修改一个 `Meta`类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21787938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com