我有一个包含多个表的数据库,需要经常查询这些表,LEFT JOIN以便结果包含来自其他表的聚合数据。我的 Prisma 架构的片段:
model posts {
id Int @id @unique @default(autoincrement())
user_id Int
movie_id Int @unique
title String @db.Text
description String? @db.Text
tags Json?
created_at DateTime @default(now()) @db.DateTime(0)
image String? @default("https://picsum.photos/400/600/?blur=10") @db.VarChar(256)
year Int
submitted_by String @db.Text
tmdb_rating Decimal? @default(0.0) @db.Decimal(3, 1)
tmdb_rating_count Int? @default(0)
}
model ratings {
id Int @unique @default(autoincrement()) @db.UnsignedInt
entry_id Int @db.UnsignedInt
user_id Int @db.UnsignedInt
rating Int @default(0) @db.UnsignedTinyInt
created_at DateTime @default(now()) @db.DateTime(0)
updated_at DateTime? @db.DateTime(0)
@@id([entry_id, user_id])
}
Run Code Online (Sandbox Code Playgroud)
如果我想在查询时返回平均评分posts,我可以使用如下查询: …
我最近刚刚了解了selfPython 中的约定,并开始编写更复杂的代码。然而,一位经验丰富的程序员和我的朋友告诉我,self在类方法中使用每个变量是浪费的。
我知道这self会导致变量归属于该类。那么,除非有需要,避免使用是不是一种好的做法self?
下面是一些从 API 获取英雄联盟信息并将每个变量存储在其中的代码,self.var_name以说明我如何(也许不必要)使用self.
async def getChampInfo(self, *args):
""" Return play, ban, and win rate for a champ """
self.uri = "http://api.champion.gg/v2/champions/{}?api_key={}"
self.champ = " ".join(args)
self.champID = lu.getChampID(self.champ)
self.res = requests.get(self.uri.format(
self.champID, League.champion_gg_api_key)).json()
self.role = self.res[0]["role"]
self.role_rate = self.res[0]["percentRolePlayed"]
self.play_rate = self.res[0]["playRate"]
self.win_rate = self.res[0]["winRate"]
self.ban_rate = self.res[0]["banRate"]
Run Code Online (Sandbox Code Playgroud)