如何使用外键从Django的其他表中获取数据(Django的新手)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用外键从Django的其他表中获取数据(Django的新手)相关的知识,希望对你有一定的参考价值。
我有两个表MeterDetail,EnergyData
class MeterDetail(models.Model):
metername = models.CharField(max_length=20)
meter_id = models.IntegerField()
meter_type = models.CharField(max_length=20)
meter_purpose = models.CharField(max_length=20)#auto_now_add=True
meter_location = models.CharField(max_length=20)
class Meta:
db_table = 'meterdetails'
def __str__(self):
return str(self.meter_id)
class EnergyData(models.Model):
last_kwh = models.FloatField()
date_time_recorded = models.DateTimeField(default=timezone.now)#auto_now_add=True
meter_id = models.ForeignKey(MeterDetail,on_delete=models.CASCADE,related_name="meter_details")
class Meta:
db_table = 'energydata'
get_latest_by = "date_time_recorded"
def __str__(self):
return str(self.last_kwh)
我想使用第一个对象从第二个表中获取数据。我在外壳中尝试过t = MeterDetail.objects.get(meter_id = 1)我无法阅读下面的这篇t.energydata_set.all()
给出错误:AttributeError:'MeterDetail'对象没有属性'energydata_set'
答案
您必须使用t.meter_details.all()
而不是t.energydata_set.all()
meter_details
以上是关于如何使用外键从Django的其他表中获取数据(Django的新手)的主要内容,如果未能解决你的问题,请参考以下文章
如何借助一对多关系在 Django 中使用外键从课程中获取主题
根据codeigniter中的外键从两个表中获取json编码数据