【发布时间】:2021-03-26 02:59:09
【问题描述】:
我已经创建了自定义用户模型。
class User(AbstractUser):
mobile = models.CharField(validators=[RegexValidator(regex="^\d{11}$", message="Length has to be 11", code="nomatch")], max_length=11)
is_superuser为0,is_staff为1的用户登录后,该有添加用户权限的用户在执行添加用户操作时,出现如下错误。
Traceback (most recent call last):
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/core/handlers/base.py", line 204, in _get_response
response = response.render()
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/response.py", line 105, in render
self.content = self.rendered_content
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/response.py", line 83, in rendered_content
return template.render(context, self._request)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 170, in render
return self._render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 162, in _render
return self.nodelist.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 162, in _render
return self.nodelist.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 162, in _render
return self.nodelist.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/templatetags/crispy_forms_tags.py", line 204, in render
c = self.get_render(context).flatten()
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/templatetags/crispy_forms_tags.py", line 121, in get_render
actual_form, node_context, template_pack=self.template_pack
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/helper.py", line 301, in render_layout
html = self.layout.render(form, self.form_style, context, template_pack=template_pack)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 135, in render
return self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in get_rendered_fields
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in <genexpr>
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/utils.py", line 66, in render_field
return field.render(form, form_style, context, template_pack=template_pack)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 367, in render
fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in get_rendered_fields
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in <genexpr>
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/utils.py", line 66, in render_field
return field.render(form, form_style, context, template_pack=template_pack)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 367, in render
fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in get_rendered_fields
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in <genexpr>
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/utils.py", line 66, in render_field
return field.render(form, form_style, context, template_pack=template_pack)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 289, in render
fields = self.get_rendered_fields(form, form_style, context, template_pack, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in get_rendered_fields
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/layout.py", line 98, in <genexpr>
for field in self.fields
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/crispy_forms/utils.py", line 66, in render_field
return field.render(form, form_style, context, template_pack=template_pack)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/edit.py", line 58, in render
result = self.detail.get_field_result(field)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/base.py", line 80, in method
return filter_chain(filters, len(filters) - 1, _inner_method, *args, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/base.py", line 63, in filter_chain
return filter_chain(filters, token - 1, _inner_method, *args, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/base.py", line 49, in filter_chain
return func()
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/base.py", line 62, in _inner_method
return fm(func if fargs[1] == '__' else func(), *args, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/base.py", line 74, in _inner_method
return func(self, *args, **kwargs)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/detail.py", line 266, in get_field_result
return ResultField(self.obj, field_name, self)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/detail.py", line 75, in __init__
self.init()
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/views/detail.py", line 84, in init
self.field_name, self.obj, self.admin_view)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/xadmin/util.py", line 312, in lookup_field
value = getattr(obj, name)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 536, in __get__
return self.related_manager_cls(instance)
File "/home/hhao/.virtualenvs/dd_demo/lib/python3.7/site-packages/django/db/models/fields/related_descriptors.py", line 853, in __init__
(instance, self.pk_field_names[self.source_field_name]))
ValueError: "<User: >" needs to have a value for field "id" before this many-to-many relationship can be used.
我刚刚创建了用户模型并启动了django,不知道发生了什么,django的版本是3.0.6,xadmin的版本是2.0.1。
后来我在django的版本是1.11.11,xadmin的版本是0.6.1的时候进行了上述操作,添加用户的操作是正常执行的。
请帮我解决这个问题,非常感谢!
【问题讨论】:
-
请将错误的完整堆栈跟踪添加到您的问题中。
-
已修改,请看
标签: python-3.x django django-admin