【发布时间】:2017-11-06 16:18:08
【问题描述】:
如何建立关系 3 django 模型?
我希望能够进行 mysql 查询,但就像我使用 django 一样,我想关联 3 个模型,另外我想通过用户 ID 添加过滤器
SQL 查询
SELECT * FROM hospetaje
inner join usuario on (Usuario_idUsuario=idUsuario)
inner join pago on (idHospetaje=Hospetaje_idHospetaje)
where idUsuario = 5
我的模特是
class Usuario(models.Model):
idusuario = models.AutoField(db_column='idUsuario', primary_key=True)
cc = models.CharField(unique=True, max_length=45)
nombre = models.CharField(max_length=15)
apellido = models.CharField(max_length=20)
fecha_nacimiento = models.DateField()
sexo = models.CharField(max_length=6)
e_mail = models.CharField(db_column='e-mail', max_length=30)
telefono = models.CharField(max_length=10)
usuario = models.CharField(max_length=30)
contrasena = models.CharField(max_length=10)
tipousuario_idtipousuario = models.ForeignKey(Tipousuario, models.DO_NOTHING, db_column='TipoUsuario_idTipoUsuario')
class Pago(models.Model):
idpago = models.AutoField(db_column='idPago', primary_key=True)
fechapago = models.DateTimeField(db_column='fechaPago')
fechapagada = models.DateField(db_column='fechaPagada')
valor = models.FloatField()
hospetaje_idhospetaje = models.ForeignKey(Hospetaje, models.DO_NOTHING, db_column='Hospetaje_idHospetaje')
class Hospetaje(models.Model):
idhospetaje = models.AutoField(db_column='idHospetaje', primary_key=True)
usuario_idusuario = models.ForeignKey('Usuario', models.DO_NOTHING, db_column='Usuario_idUsuario')
habitacion_idhabitacion = models.ForeignKey(Habitacion, models.DO_NOTHING, db_column='Habitacion_idHabitacion')
fechainicio = models.DateField(db_column='fechaInicio')
fechafinal = models.DateField(db_column='fechaFinal', blank=True, null=True)
【问题讨论】:
-
请更新模型的格式,目前有点难以阅读。
-
你能不能re-write the question 让它问一个的事情,这样有一个正确的答案?
标签: python mysql django model relation