使用is_authenticated,使用与User的OneToOneField关系



我已经建立了一个模型,它与Django中的User对象有OneToOne关系,如下所示:

class Student(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)

但在HTML文件中,过滤器{% if user.student.is_authenticated %}不起作用,但过滤器{% if user.is_authenticated %}起作用。我认为Student类继承了User类的属性。

是否还有其他可能从User类创建自定义用户,并使用{% if user.student.is_authenticated %}?我也想有可能使用例如{% if user.teacher.is_authenticated %}

我认为Student类继承了User类的属性。

,它不继承,这只是两个模型(表(,其中一个表通过指定主键引用其他表。

因此,您可以使用进行检查

{% ifuser.is_authenticated%}
…
{% endif %}

或者,如果您想知道student的用户是否经过身份验证,您可以使用:

{% ifmystudent.user.is_authenticated%}
…
{% endif %}

最新更新