我正在使用peewee和python,并且无法使用外键访问父表的属性
我有两个表Jobs和Tiles,具有以下架构
M
平铺表包含一个job_id作为Job表的外键。
几件瓷砖可以属于同一份工作。
为了插入,创建了一个作业,然后将tile job_id字段设置为job.id
class Job(BaseModel):
id = PrimaryKeyField()
block_id = IntegerField()
min_lat = DoubleField()
min_lng = DoubleField()
max_lat = DoubleField()
max_lng = DoubleField()
city = TextField()
status = IntegerField()
#0 : not started
#1 : ongoing
#2 : download complete
#3 : upload complete
date_created = DateTimeField()
date_modified = DateTimeField()
class Meta:
order_by = ('id',)
class Tile(BaseModel):
id = PrimaryKeyField()
job = ForeignKeyField(Job)
lat = DoubleField()
lng = DoubleField()
is_pending = BooleanField(default=True)
filename = CharField(default='')
date_created = DateTimeField()
date_modified = DateTimeField()
class Meta:
order_by = ('id',)
我正在捕捉所有异常,此时不会抛出任何错误。
稍后我尝试使用Tile对象访问Job的city属性
....
tile['job'] = job
tile['lat'] = item.lat
tile['lng'] = item.long
和peewee / sqlite throw
提升self.rel_model.DoesNotExist
我刚刚开始使用peewee,但已经完成了文档和示例,似乎无法弄清楚我做错了什么。
任何指针?
答案 0 :(得分:0)
道歉。我想通了。 我正在使用Select(id)并且只返回我试图提取的行的id字段。一旦我将其更改为Select(),我的代码就可以工作。