Создание пользовательского разрешения представления в django

Мне нужно создать разрешение, которое позволит User видеть модель "Alumno", но мне нужно, чтобы он видел только те записи этой модели, которые имеют тот же внешний ключ, что и "id_colegio"... например, если мой User имеет внешний ключ id_colegio = 1, мне нужно, чтобы он мог видеть все записи "Alumno", чей внешний ключ "id_colegio" = 1

models.py

class User(AbstractUser):  
   profesor = models.BooleanField(default=False)
   rut_user = models.IntegerField(null=True) 
   id_colegio = models.ForeignKey('Colegio', models.DO_NOTHING, db_column='id_colegio', 
   null=True,verbose_name="Colegio")

class Alumno(models.Model):
   rut_alumno = models.IntegerField(primary_key=True)
   dv_alumno = models.CharField(max_length=1)
   p_nombre = models.CharField(max_length=15 , verbose_name = "Primer nombre")
   s_nombre = models.CharField(max_length=15, blank=True, null=True)
   ap_paterno = models.CharField(max_length=15)
   ap_materno = models.CharField(max_length=15, blank=True, null=True)
   fecha_nac = models.DateField()
   genero = models.CharField(max_length=1)
   direccion = models.CharField(max_length=25, blank=True, null=True)
   nivel_socio = models.CharField(max_length=10)
   id_examenes = models.OneToOneField('ExamenCono', models.DO_NOTHING, 
   db_column='id_examenes')
   rut_apoderado = models.ForeignKey('Apoderado', models.DO_NOTHING, 
   db_column='rut_apoderado')
   id_colegio = models.ForeignKey('Colegio', models.DO_NOTHING, db_column='id_colegio')
   id_curso = models.ForeignKey('Curso', models.DO_NOTHING, db_column='id_curso')
   id_comuna = models.ForeignKey('Comuna', models.DO_NOTHING, db_column='id_comuna')

   def __str__(self):
      return f"{self.rut_alumno , self.p_nombre , self.ap_paterno}"
   class Meta:
      managed = True
      db_table = 'alumno'

class Colegio(models.Model):
    id_colegio = models.IntegerField(primary_key=True,verbose_name="Colegio")
    nombre = models.CharField(max_length=20)
    telefono = models.IntegerField(blank=True, null=True)
    direccion = models.CharField(max_length=25)
    id_comuna = models.ForeignKey('Comuna', models.DO_NOTHING, db_column='id_comuna')
Вернуться на верх