我试图进行一个查询,返回foreignkey关系的数据,但没有成功。我想把无线电模型的web字段的数据带到对模型程序asradiales的查询中。我只设法把模型程序中的数据作为基础。在
模型
class Radio(models.Model):
usuario = models.ManyToManyField(settings.AUTH_USER_MODEL)
radio = models.CharField('Nombre de la Emisora', max_length=50)
web = models.URLField()
class Meta:
ordering = ['radio']
verbose_name_plural = 'radios'
def __str__(self):
return self.radio
class ProgramasRadiales(models.Model):
rango = (
('lun', 'Lunes'),
('mar', 'Martes'),
('mie', 'Miercoles'),
('jue', 'Jueves'),
('vie', 'Viernes'),
('sab', 'Sábado'),
('dom', 'Domingo')
)
nombre = models.CharField('Nombre del programa de radio', max_length=60)
dias = MultiSelectField('Selecciona los días', choices = rango, max_length=40)
inicio = models.TimeField(blank = False, null = True)
duracion = models.PositiveSmallIntegerField('Duración del programa(minutos)', default=False)
radios = models.ForeignKey(Radio)
class Meta:
ordering = ['nombre']
verbose_name_plural = 'programas radiales'
def __str__(self):
return self.nombre
奎里斯
^{2}$<QuerySet [{'nombre': 'Matinal', 'inicio': datetime.time(10, 0), 'radios_id': 2, 'dias': ['mie'], 'duracion': 20, 'id': 3}, {'nombre': 'Nocturnos', 'inicio': datetime.time(18, 0), 'radios_id': 1, 'dias': ['jue', 'vie'], 'duracion': 20, 'id': 4}, {'nombre': 'Siempre Informados', 'inicio': datetime.time(6, 0), 'radios_id': 1, 'dias': ['lun', 'mie', 'vie'], 'duracion': 15, 'id': 2}, {'nombre': 'Tus noticias', 'inicio': datetime.time(7, 0), 'radios_id': 2, 'dias': ['lun', 'mar', 'mie', 'jue', 'vie'], 'duracion': 20, 'id': 1}]>
您需要使用''uuu'(双下划线运算符)来获取外键的数据。在
您将需要在查询中使用
select_related
:https://docs.djangoproject.com/en/1.11/ref/models/querysets/#select-related
相关问题 更多 >
编程相关推荐