【发布时间】:2019-02-06 17:55:40
【问题描述】:
当我尝试从管理面板中删除用户时出现这样的错误
/admin/auth/user/ 处的类型错误 'bool' 对象不可调用
models.py
class PROFILE(models.Model):
kullanıcı = models.OneToOneField(User,on_delete=True)
birthday = models.DateField(verbose_name="Birthday",
blank=False,null=False)
gender = models.CharField(max_length=15, blank=False,null=
False,choices=gender)
language = models.CharField(max_length=20, blank=False,null=False,
verbose_name="language",choices=languages)
def set_token(self):
self.token = ''.join([choice('abcdefghijklmnopqrstuvwxyz0123456789')
for i in range(15)])
def save(self, *args, **kwargs):
super(PROFILE, self).save(*args, **kwargs)
self.set_token()
class Meta:
verbose_name_plural = 'PROFILE'
ordering= ["id"]
def __str__(self):
return "{}".format(self.kullanıcı.username)
class Q(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
... class Meta, __str__ ....
首先“kullanıcı”是“用户”,但由于 django 冲突的可能性,我进行了更改。但是我还是有这个问题
/admin/auth/user/ 处的类型错误 'bool' 对象不可调用 请求方法:POST 请求网址:http://192.168.1.34:8000/admin/auth/user/ Django 版本:2.1 异常类型:TypeError 异常值:
'bool' 对象不可调用 异常位置:/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/db/models/deletion.py 在collect,第221行 Python 可执行文件:/home/mete/Masaüstü/ask/venv/bin/python Python版本:3.6.5 Python 路径:
['/home/mete/Masaüstü/ask/ask', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages'] 服务器时间:Cum, 31 Ağu 2018 16:35:51 +0000
>
追溯: 内部文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/core/handlers/exception.py” 34. 响应 = get_response(请求) _get_response 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/core/handlers/base.py” 126. 响应 = self.process_exception_by_middleware(e,请求) _get_response 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/core/handlers/base.py” 124.响应=wrapped_callback(请求,*callback_args,**callback_kwargs) 包装器中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/options.py” 607. return self.admin_site.admin_view(view)(*args, **kwargs) _wrapped_view 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/utils/decorators.py” 142. 响应 = view_func(请求,*args,**kwargs) _wrapped_view_func 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/views/decorators/cache.py” 44. response = view_func(request, *args, **kwargs) 内部文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/sites.py” 223. 返回视图(请求,*args,**kwargs) _wrapper 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/utils/decorators.py” 45. return bound_method(*args, **kwargs) _wrapped_view 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/utils/decorators.py” 142. 响应 = view_func(请求,*args,**kwargs) changelist_view 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/options.py” 1711. 响应 = self.response_action(请求,查询集=cl.get_queryset(请求)) response_action 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/options.py” 1411. 响应 = 函数(自我,请求,查询集) delete_selected 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/actions.py” 28.deletable_objects,model_count,perms_needed,protected = modeladmin.get_deleted_objects(查询集,请求)> get_deleted_objects 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/options.py” 1833. 返回 get_deleted_objects(objs,请求,self.admin_site) get_deleted_objects 中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/utils.py” 134.collector.collect(对象) 收集中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/contrib/admin/utils.py” 197. return super().collect(objs, source_attr=source_attr, **kwargs) 收集中的文件“/home/mete/Masaüstü/ask/venv/lib/python3.6/site-packages/django/db/models/deletion.py” 221. field.remote_field.on_delete(self, field, sub_objs, self.using)
异常类型:/admin/auth/user/ 处的 TypeError 异常值:'bool' 对象不可调用
【问题讨论】:
-
错误的堆栈跟踪可能会有所帮助。你能补充一下吗?
-
您是否运行了迁移数据库中的列名更改?
-
@mete eroğlu 您是否扩展了
User模式?你有什么添加到admin.py的吗? -
@SachinKukreja 是的,我又试了一次,迁移没有错误
-
@JPG 我无法理解第一个问题。我以管理员身份尝试。我还将模型保存在 django.site.register(model)
标签: django django-models django-admin django-queryset