使用 peewee 反向外键查询
Reverse foreignkey query with peewee
我正在使用 peewee orm,我想知道如何进行反向外键查询。
这些是我的模型:
class Device(BaseModel):
mac = CharField()
ip = CharField()
class Metrics(BaseModel):
device = ForeignKeyField(Device, related_name="metrics")
sensor = CharField()
analog = FloatField(null = True)
timestamp = DateTimeField()
我想知道获取所有具有场传感器指标的设备的最简单方法="temperature"。
我可以通过各种查询和一些迭代来解决它,但我想知道是否有更直接的方法来做到这一点。
谢谢
一种方式:
Device.select().join(Metric).where(Metric.sensor == 'temperature')
另一种方式:
Device.select().where(fn.EXISTS(
Metric.select().where((Metric.sensor == 'temperature') & (Metric.device == Device.id))
))
我正在使用 peewee orm,我想知道如何进行反向外键查询。
这些是我的模型:
class Device(BaseModel):
mac = CharField()
ip = CharField()
class Metrics(BaseModel):
device = ForeignKeyField(Device, related_name="metrics")
sensor = CharField()
analog = FloatField(null = True)
timestamp = DateTimeField()
我想知道获取所有具有场传感器指标的设备的最简单方法="temperature"。
我可以通过各种查询和一些迭代来解决它,但我想知道是否有更直接的方法来做到这一点。
谢谢
一种方式:
Device.select().join(Metric).where(Metric.sensor == 'temperature')
另一种方式:
Device.select().where(fn.EXISTS(
Metric.select().where((Metric.sensor == 'temperature') & (Metric.device == Device.id))
))