[英]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.