文書操作
CatWalkでデータベースにレコードを追加
CatWalkはカッコイイ
データベースをいじろうとして試行錯誤している間に間違えに気づきました。前回データベースを生成するときに、nameカラムおよびcommentカラムの型に「StringCol」を指定していたのですが、これだと日本語が入力できないのですね(asciiのみ)。日本語入力を可能にするためには「UnicodeCol」である必要があります。ですので、
tg-admin sql drop
で現在のsnackテーブルを削除し、
model.pyの記述を以下のように変更しました。
class snack(SQLObject):
name = UnicodeCol()
eval = IntCol()
comment = UnicodeCol()
そして再びtg-admin sql createを実行すればOKです。
前回テーブルの構造を確認するのに、わざわざsqlite3コマンドを使っていたのですが、tg-adminコマンドに同様の機能(tg-admin sql sql)がありました。便利ですね~。
tg-admin sql sql
Using database URI sqlobject.dburi="sqlite:///C:/Documents and Settings/nyusuke/My Documents/Turbogears/JUNKSNACK/devdata.sqlite"
CREATE TABLE snack (
id INTEGER PRIMARY KEY,
name TEXT,
eval INT,
comment TEXT
);
さて、テーブルは生成できましたがまだ中身がありませんので、いくつかレコードを追加してみようと思います。sqlite3の方から追加してもいいんだとは思いますが、ここではCatWalkという、Turbogearsツールボックスに組み込まれている機能を使ってみたいと思います。
tg-admin toolboxコマンドでツールボックスを立ち上げたら、ブラウザから「localhost:8080」にアクセスします。右上にCatWalkへのリンクがありますのでクリックしましょう。
*CatWalkにアクセスする方法はもう一つあります。model.pyにマウントするやり方ですが、詳しくはこちらを参考にどうぞ。
味気ない画面ですが、左側にsnackテーブルが見えます(複数テーブルがある場合はここにずらっと並びます)。
これをクリックするとテーブルのサマリを見ることができます。
よく見てみるとカラムの並び順が期待したとおりにはなっていません。Comment, Name, Evalという順番になってしまっています(上記画面ではEvalカラムが切れてしまって見えていませんが、実際にはNameカラムの右側に表示されています)。まずはこのカラムの順番をName, Eval, Commentという順番に変更してみます。
カラムの順番を変更するには、Manage Cokumnsというリンクをクリックします(上記画像のテーブルアイコンの部分をクリックします)。
すると以下のような編集画面に行くことができます。
ここで各カラムのチェックの左側にマウスをホバーさせれば、ドラッグして順番を移動させることができます。順番を移動できたら「Save」ボタンを押します。
順番が入れ替わりました(・∀・)
それではいくつかレコードを追加してみたいと思います。「Add snack +」という青色のボタンをクリックするとレコード追加画面に行くことができます。
入力は直感的にわかると思います。invalidな値を入力しようとすると、「Save」ボタンが押せなかったりします。例えばnameカラムをStringColとして生成した場合は日本語でレコードを追加しようと思っても「Save」ボタンを押すことができません。また例えばevalカラムはIntColとして生成されていますので、全角の数字や、文字を入力しようと思ってもダメです。
「Save」ボタンを押せばレコードが追加されます。
テーブルのサマリを見てみましょう。
確かに追加されてますね!レコード上にマウスを持っていけば編集や削除のアイコンが表示されます。カッコイイなぁ。
CatWalkを満喫したところで今日は終了。おやすみなさ~い(・∀・)ノ
- カテゴリ
-
Turbogears
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://nagosui.org:8080/Nagosui/COREBlog2/manage-database-with-catwalk/tbping

