我的模型。py
class Utilizador(AbstractBaseUser):
id = models.AutoField(db_column='ID', primary_key=True)
departamentoid = models.ForeignKey(Departamento, models.DO_NOTHING, db_column='DepartamentoID', blank=True, null=True)
email = models.CharField(db_column='Email', max_length=255, blank=True, null=True, unique=True)
nome = models.CharField(db_column='Nome', max_length=255, blank=True, null=True)
class Inscrio(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
utilizadorid = models.ForeignKey('Utilizador', models.DO_NOTHING, db_column='UtilizadorID')
participanteinfoid = models.ForeignKey('Participanteinfo', models.DO_NOTHING, db_column='ParticipanteinfoID')
我的view.py
def ver_col(request, pk):
user = Utilizador.objects.get(id=request.user.id)
insc = Inscrio.objects.get(utilizadorid=request.user.id)
if request.user.is_authenticated:
if request.user.id==insc.utilizadorid.id:
return render(request, 'main/ver_col.html',
{
"insc": insc
})
因此,我希望用户看到此“ ver_col.html”,但只允许他们输入与当前登录的用户(request.user.id或该用户)关联的UtilizadorID(表Inscrio)的页面。 request.user)。
基本上我希望所有用户都能看到模板,但只能看到他们自己的数据
答案 0 :(得分:0)
不确定要实现什么,但是如果pk是用户Model的pk,
if request.user.id== pk
表示当前登录的用户仅在查看其自己的页面和其他用户页面。 这应该在您对用户进行身份验证之后进行。