[英]How to get data from other table in django with Foreign Key(New to 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)
我想使用第一个 object 从第二个表中获取数据。我在 shell 中尝试过 t= MeterDetail.objects.get(meter_id=1) 我无法在一个 t.energydata_set.all() 下面读取它
给出错误:AttributeError: 'MeterDetail' object 没有属性 'energydata_set'
你必须使用t.meter_details.all()
而不是t.energydata_set.all()
这里的meter_details
是related_name来获取反向对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.