我已经建立了一个模型,它与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 %}