別のPythonスクリプトで条件文を使用してデータを追加する方法を目的/意思ジャンゴ -
私は結果がsqlite3のデータベースであることをDjangoのモデルを作成しました。私は今、別のpythonスクリプトを使用して、そのデータベースにいくつかの条件付きロジックに基づいて追加したいと思っています。
問題
私はデータベースに問い合わせをして、別のPythonスクリプトを使用して、その尋問からの戻り結果に基づいて、いくつかの値を追加する方法を確認していないので、私はジャンゴとPythonに新しいです。
これは私のModels.pyです:
from django.db import models
from django.utils import timezone
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
# Create your models here.
class Author(models.Model):
'''
Model representing the Author of the stocknote.
'''
user_id = models.ForeignKey('auth.User')
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Stock(models.Model):
'''
Model representing the stock info.
'''
author = models.ForeignKey(Author)
ticker_code = models.CharField(max_length=10, null=True, blank=True)
latest_stock_price = models.DecimalField(max_digits=20, decimal_places=4, null=True, blank=True)
datetime_of_last_quote = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.ticker_code
class Note(models.Model):
'''
Model representing the Authors note.
'''
author = models.ForeignKey(Author)
note = models.TextField()
ticker_code = models.ForeignKey(Stock)
date_note_created = models.DateTimeField(default=timezone.now)
alert_price = models.DecimalField(max_digits=20, decimal_places=4, null=True, blank=True)
def __str__(self):
return self.note
は今それが空であるフィールド「latest_stock_price」以外のすべてのフィールドのデータが含まれているので、私はデータベースにデータを追加している想像してみてください。私は別のPythonスクリプトで何をしたいのか
からinterrogate-db.pyそれを呼び出すことができますが - そのようにプログラムによるロジックを持っている:
If 'GOOG' is in 'ticker_code' then
add '1.234' to the latest_stock_price for GOOJ
私が書き込み、問い合わせ-DBに達成できる最高.pyは、次のとおりです。
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject_project.settings')
import django
django.setup()
from myproject.models import Author, Stock, Note
def add_latest_price():
for t in Stock.objects.values_list('ticker_code'):
if 'GOOJ' in t:
...What goes here?...
GOOJがトンである場合latest_stock_priceする1.234を追加するための構文がどうあるべきか?
それは 'in'と' = '代わりに' + = 'の代わりに' = 'でなければなりません。 –
ありがとう@AshishNitinPatil私はそれがPythonコードのような条件を取った。 :P –
優秀!私の問題を解決したRaviとAshishのおかげで、ありがとう。 – shaz