Django 删除管理站点中的模型 - "bool"对象不可调用



当我尝试在管理面板中删除模型时,出现此错误。 我找不到问题所在。

类型错误在/admin/account/cloud/1/delete/

"布尔"对象不可调用

  • 管理网站

  • 错误链接

姜戈:1.10.6

帖子:9.5.6

操作系统: 优班图服务器 16.04

有问题的模型:

class Cloud(models.Model):
NAME_CHOICE = (
('1', '1'),
('2', '2'),
('3', '3'),
('4', '4')
)
account = models.ForeignKey(Account, verbose_name='Аккаунт')
name = models.CharField(choices=NAME_CHOICE, verbose_name='Название', max_length=20, default=NAME_CHOICE[0][0])
username = models.CharField(verbose_name='Пользовательское название', max_length=100, null=True, blank=True)
active = models.BooleanField(verbose_name='Активный?', default=False)
params = JSONField(verbose_name='Параметры', null=True, blank=True)
delete = models.BooleanField(verbose_name='Удален?', default=False)

def __str__(self):
return 'ID: {}, облако: {}'.format(self.id, (self.username or '-'))

INSTALLED_APPS:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'account',
'api',
'cell',
'files',
'deploy_frontend',
'rest_framework',
# 'rest_framework_docs',
'rest_framework_swagger',
]

如果 obj = 云对象,obj 怎么可能是"布尔"?

因为根据模型定义而不是默认delete方法,obj.deleteBooleanField。您可能希望为字段指定不同的名称,例如is_deleted

在 Django 2 中,当您的外键模型字段设置为on_delete=True时,也会出现此问题。

on_delete=True交换为on_delete=models.CASCADEon_delete=models.PROTECTon_delete=models.SET_NULLon_delete=models.SET_DEFAULTon_delete=models.SET()

查看文档

最新更新