【问题标题】:Cannot create form field for 'created_by' yet, because its related model 'users.User' has not been loaded yet尚无法为“created_by”创建表单字段,因为尚未加载其相关模型“users.User”
【发布时间】:2013-08-06 14:32:29
【问题描述】:

我最近安装了 Blogango,但出现以下错误:

CommandError: One or more models did not validate:
 blogango.blogentry: 'created_by' defines a relation with the model 'auth.User', which has been swapped out. Update the relation to point at settings.AUTH_USER_MODEL.

所以我添加了 settings.AUTH_USER_MODEL,现在我收到以下消息:

ValueError: Cannot create form field for 'created_by' yet, because its related model 'users.User' has not been loaded yet

我查看了我的 settings.py,它调用了 AUTH_USER_MODEL = 'users.User',并将其移到了 settings.py 的更高位置,以尝试更快地加载它。

根据要求: created_by = models.ForeignKey(settings.AUTH_USER_MODEL, unique=False)

我能做些什么来解决这个问题?

【问题讨论】:

  • 我们能看到created_by的模型吗?
  • 问题现在显示created_by
  • 如果将settings.AUTH_USER_MODEL 放在引号中会怎样?即,`created_by = models.ForeignKey('settings.AUTH_USER_MODEL', unique=False)
  • 当我用引号改变它时,我得到:ValueError: Cannot create form field for 'created_by' yet, because its related model 'settings.AUTH_USER_MODEL' has not been loaded yet
  • 您确定问题正确吗?它声称您指的是auth.User,而您在设置中的引用清楚地表明users.User

标签: django


【解决方案1】:

看来 Blogango(是 https://github.com/agiliq/django-blogango?)不支持 Django 1.5 中引入的 custom user models

Blogango 中的补丁应该很简单,只需替换:

from django.contrib.auth.models import User

与:

from django.contrib.auth import get_user_model
User = get_user_model()

django-blogango/blogango/models.py.

【讨论】:

    猜你喜欢
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多