私はPython環境が初めてなので、これを試すために小さなプロジェクトの例を作成しました:
- 電話ブランドを作成し、brands.pkl テキスト フィールドに保存します: 「ブランド名」
- ドロップダウンを介して以前に作成されたブランドからブランドを選択して電話モデルを作成し、models.pkl テキスト フィールドに保存します: 電話名ドロップダウン: 作成されたブランド。
しかし、それを関連付ける解決策が見つかりませんでした(SQLでは、IDで外部キーを使用できます)。
ありがとうございました。
これが私のコード例です:
def phones(self):
saved_phones= util.load_phones()
return json.dumps(saved_phones)
@cherrypy.expose
def new_brands(self, *args, **kwargs):
try:
saved_brands = util.load_brands()
brand = {'name': kwargs['brand_name']}
try:
brand['id'] = saved_brands[-1]['id'] + 1
except IndexError:
brand['id'] = 1
saved_brands.append(brand)
util.save_brands(saved_brands)
return json.dumps(brand)
except Exception as e:
return json.dumps({'error': str(e)})
@cherrypy.expose
def new_phones(self, *args, **kwargs):
try:
saved_phones = util.load_phones()
phone = {'model': kwargs['phone_model']}
try:
phone['id'] = saved_module[-1]['id'] + 1
except IndexError:
phone['id'] = 1
saved_phones.append(phone)
util.save_phones(saved_phones)
return json.dumps(phone)
except Exception as e:
return json.dumps({'error': str(e)})
def save_phones(phones):
pickle.dump(phones, open('phones.pkl', 'wb'))
def load_phones():
try:
saved_phones = pickle.load(open('phones.pkl', 'rb'))
except IOError:
saved_phones = []
return saved_phones
def get_modul(phones, phone_id):
for phone in phones:
if phone['id'] == phone_id:
return phone
# if
# for
return None
def save_brands(brands):
pickle.dump(brands, open('brands.pkl', 'wb'))
def load_brands():
try:
saved_brands = pickle.load(open('brands.pkl', 'rb'))
except IOError:
saved_brands = []
return saved_brands
def get_modul(brands, brand_id):
for brand in brands:
if brand['id'] == brand_id:
return brand
# if
# for
return None