如何从Model._meta.fields中删除字段

-1 投票
1 回答
1417 浏览
提问于 2025-04-18 14:37

我在auth.Group模型中添加了一个字段,使用了add_to_class这个方法,具体可以参考这里:

在Django的Auth Groups中添加额外字段

我在models.py文件中添加了这个字段:

Group.add_to_class('type', models.CharField(max_length=100))

但是这样做后,虽然看起来这个字段已经加到了模型类里,但实际上并没有作为数据库字段存在。所以当我尝试访问Group的管理页面时,系统提示我这个新字段不存在。经过一些研究,我发现用这种方法给auth.Group添加字段并不是一个好主意。

我现在想删除我添加的新字段,但我不知道该怎么做。从我理解的这个回答来看:

从标准Django模型中删除字段

我需要从Model._meta.fields列表中删除这个字段,但我不知道具体怎么操作。

1 个回答

0

试试这个:

for field in ModelName._meta.fields:
  if field.name == 'unwanted_field_name':
    ModelName._meta.fields.remove(field)

撰写回答