2017-07-06 14 views
1

私は比較的新しいDjangoです。 私は基本的なアプリケーションを作成することができました。問題なく、すべて正常に動作します。バックエンドデータベースが更新されたときにDjangoモデルが更新されます

これまでに質問されている可能性があります。 元のデータベースが変更されたときに既存のデータベースに既にマップされている既存のDjangoモデルを更新する方法はありますか?

具体的には、私は自分のDjangoアプリケーションとスタンドアロンのPythonとRスクリプトに使用するmysqlデータベースを持っています。さて、Djangoモデルの外にある私の既存のスクリプトから毎日の株価を使ってmysqlデータベースを更新する方がはるかに簡単です。理想的には、更新されたデータを反映するために既にこれらのテーブルにマップされているDjangoモデルを持つことです。

既存のデータベースからモデルを作成するための$ python manage.py inspectdbがあります。しかし、それは目的ではありません。

これまでドキュメントやオンライン検索から収集したことから、バックエンドデータベースをDjangoモデルで更新することが不可欠です。それの外にはありません。本当ですか?テーブル構造が変わっていない限り、なぜこれが許されるべきでないのか私は本当に分かりません。データベースは複数の顧客にサービスすることを意図していますか? Djangoはその一つです。

概念的な質問であるため、再現可能な例はありません。 この機能が存在しない場合は、本当に必要です。

おかげで、 Kaustubh

+1

あなたが何を求めているのか分かりません。 Djangoが同じデータベースを使用している場合は、更新するものはありません。 Djangoはすでに更新された情報を見るでしょう。 –

+1

この質問からdjango-mysqlラベルを削除してください。これはdjango-mysqlライブラリではなく、 "django with mysql" –

+0

とは別に、Djangoの '制御された'データベースに直接アクセスできる外部アプリケーションを許可しないことを検討してください。 Django ORM(データベース層)が期待するように動作するために、(あなたの)外部コードに依存しています。 Djangoの管理コマンドは、コマンドラインからDjangoの許可を受けた方法でデータベースを変更したい場合に使用します。 –

答えて

4

あなたはあなただけの新しいデータを追加した場合のモデルを更新する必要はありません。モデルはデータベース構造にのみ関連しています。

+0

SayPyと@Daniel Rosemanありがとうございます。それは素晴らしいことです。私はこのことについてちょうど混乱していたと思う。私はdjango-mysqlラベル、Adamを削除しました。 投稿を削除することを考えましたが、他の誰かが同じ混乱を抱えた場合に備えて、ここに残しておきます。 –

関連する問題