したがって、10個のフィールド(a、b、c .... jと呼びます)を持つデータベースがあり、フィールドの任意の組み合わせに基づいてデータベース内のレコードを検索および変更できる関数「find_use()」を作成する必要があります。引数として与えられます(つまり、find_use(a == "happy"、g == "birthday"))。また、特権のため、SQLクエリを直接生成するのではなく、システムが提供する「selector()」と呼ばれるSQLラッパーを使用します。これにより、同じ引数に基づいてレコードが検索されます。 happy "、g == "birthday")、一致するレコードのリストを返します
問題は、find_use()が受け取る引数がわからないため、selector()への内部呼び出しを構造化する方法がわからないことです。理想的には、セレクターの呼び出しは動的に作成する必要があります。効果のあるもの:
def find_use(a='',b='',c='',.....j=''):
vars = locals()
for v in vars:
if v.value() != '':
q_string += '{0} == {1},'.format(v.key(),v.value())
query = selector(q_string)
...do something to query...
ただし、selectorは文字列を受け取らず、find_use()関数と同じ形式の引数を受け取るため、これは機能しません。では、どうすればこれを行うことができますか。私はこれが実際には本当に簡単だと感じています、そして私はただ明白な何かを逃しています。任意の入力をいただければ幸いです。