2012-03-16 2 views
0

問題は、具体的には、Pythonを使用してDjangoデータベースで見つかったデータ型を作成できるということです。 pythonを使用して同じ種類のデータを作ることができない、という考えが私のPythonコードが自動的にデータベースを更新することです、ここのコード:Python(フィールド型)を介してDjangoのデータベーステーブルを作成

Djangoのモデル

unidad = models.BigIntegerField(max_length=15) 
pin = models.IntegerField(max_length=2) 
fecha = models.DecimalField(max_digits=7,decimal_places=1) 

Pythonの実行

cursor.execute('''create table u_%(table_name)s stocks (id integer AUTO_INCREMENT NOT NULL PRIMARY KEY,id_unidad bigint NOT NULL, pin integer NOT NULL, fecha numeric(7, 1) NOT NULL)''' % dict(table_name = table_name)) 

これは私が「のpython manage.py SQL GPRS」

BEGIN; 
CREATE TABLE `evento` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, 
    `unidad` bigint NOT NULL, 
    `pin` integer NOT NULL, 
    `fecha` numeric(7, 1) NOT NULL 
) 
+0

あなたは*あなたが自動的にデータベース*スキーマを更新したいと言っている:ここに記載されているようDjangoはpython manage.py syncdbを実行する前に、あなたのモデルを作成するために使用する実際のSQLを表示するには、python manage.py sql appnameを使用することができますか?つまり、モデルにフィールドを追加すると、Pythonコードでデータベースのフィールドが自動的に追加されるようになりますか? Djangoは実際にこれを行うためのものではありません(組み込みのコマンドラインオプション[syncdb](https://docs.djangoproject.com/en/dev/ref/django-admin/#syncdb)は* new *既存のものを変更するのではなく)[south](http://south.aeracode.org/)のようなものを見ることができます。 – Hannele

+0

これは既に解決されています。これはDjangoデータベースをPythonコードで自動的にフィードしていました。ありがとうございました。 – user987055

答えて

0

を実行したときにあなたの質問は一種の混乱であるジャンゴの出力です。 https://docs.djangoproject.com/en/dev/ref/django-admin/#sql-appname-appname

+0

私はDjangoがテーブルをどのように作成しているか知ってもらったのと同じ問題があります:行166、実行中 self.errorhandler(self、exc、value)、行35、defaulterrorhandler内 raise errorclass、errorvalue _mysql_exceptions.ProgrammingError:(1064、 "SQL文のMySQLサーババージョンで正しい構文を使用して株式の近くにエラーがあります(ID整数AUTO_INCREMENT NOT NULL PRIMARY KEY、id_unidad bigint NOT NULL 'at 1行目) – user987055

+0

@ user987055あなたのSQLは有効な 'u _%(table_name)s stocks'のように見えません。株式と呼ばれるテーブルを作成するか、テーブル名を挿入しますか? – dm03514