= andmylife / 設計 / サーバー / API = == URL == https://spreadsheets.google.com/ccc?key=p-MjP3tvO4n5yXMjHEIAUAA == カード / カードコメント入力 == 想定するフローを以下のように決める。 前提: この時点でアイテムは特定されている。 * カード追加 ( 同時にカードコメントを追加 ) 1. カードコメントフォーム 2. カードフォーム(カードコメントフォームの内容から推測したデフォルト値) 3. 保存 * カード更新 ( 同時にカードコメントを追加 ) 1. カードコメントフォーム 2. カードフォーム(カードコメントフォームの内容から推測したデフォルト値) 3. 保存 == アイテム情報取得 / アイテム情報検索 / アイテムフィルター == 以下の 3 つを、明確に分けて考える。 1. アイテムを表示するために、アイテム情報を'''取得'''する。 2. カードの目的語となるアイテムを選択するために、アイテム情報を'''検索'''する。 3. カードを絞り込むために、カードに関連するアイテムの集合を、アイテム情報で'''絞り込む'''。 これらを、それぞれ、 1. !ItemInfo.objects.cache() 2. !ItemInfo.objects.search(query) 3. Item.objects.filter_by_info(query) というようなコンポーネントとして分離する。