【问题标题】:Django extending model.UserDjango 扩展 model.User
【发布时间】:2017-03-07 19:43:30
【问题描述】:

我正在尝试在 Django 中扩展 model.User(使用 SQLite3)。这是我的用户配置文件模型:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique = True, related_name = 'user')
    bio = models.TextField(blank = True, null = True)
    birth_date = models.DateField(blank = True, null = True)
    followers = models.ManyToManyField('self', symmetrical=False, null = True, blank = True)

但是当我运行服务器时,我没有将 UserProfiles 视为单独的选项卡。存在一个用户选项卡,但我没有在其中看到任何自定义字段。我做错了什么还是这是 Django 的预期行为?以及如何测试这么多代码(手动可以,但如何测试?)只是为了查看行为是否符合预期。

非常感谢!

【问题讨论】:

  • 按标签?你是说管理标签吗?
  • 我的意思是超链接!默认情况下,有一个指向用户和组的超链接,但在 UserProfiles 中看不到一个!
  • 超链接到底在哪里?
  • 127.0.0.1:8000/admin - 有一个名为“身份验证和授权”的标题,其中有两个超链接/选项卡 - 用户是一个,组是另一个。如果我尝试添加用户,我需要提供用户名和密码。还有其他可选响应(来自 model.User 的名字、姓氏等),但我添加的响应都没有显示在那里。

标签: python django django-models django-users


【解决方案1】:

好的,您需要将UserProfile 模型添加到您的管理面板。

UserProfile所在的app文件夹中,你会找到一个名为admin.py的文件

添加以下内容:

from .models import UserProfile

admin.site.register(UserProfile)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2018-04-08
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多