Django扩展用户模型教程不适用于m

2024-04-19 19:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用了本教程,并完全按照他们所做的来做: https://docs.djangoproject.com/ja/1.9/topics/auth/customizing/#extending-the-existing-user-model

我的模型.py公司名称:

from django.db import models
from django.contrib.auth.models import User
from datetime import datetime

class Chess(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    last_activity = models.DateTimeField(default=datetime(1970,1,1,))
    is_avaliable  = models.BooleanField(default=False,)
    in_progress  = models.BooleanField(default=False,)

我的管理员py公司名称:

^{2}$

在马纳格尔.py外壳:

from django.contrib.auth.models import User
u = User.objects.get(pk=1)
u.username # return 'admin' it's work
u.chess.last_activity # return ERROR (described below)

AttrinbuteError:“User”对象没有“chess”属性

  • 但在django管理面板中,这个字段是可用的并且可以工作

请帮我弄清楚,因为我已经花了4个小时。。。在


Tags: djangofrompyimport名称authdefaultdatetime
2条回答

你可能没有注册象棋模型吗?在

尝试在底部添加admin.site.register(Chess, ChessAdmin)管理员py. 当然,您可能需要先创建一个简单的ChessAdmin来显示。在

您需要更新您的Chess模型,并将related_name添加到user属性中。在

class Chess(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="chess_board")
    # Other Stuff

现在您可以轻松访问last_activity或任何其他属性:

^{pr2}$

希望有帮助。在

相关问题 更多 >