Сохранение данных в базе данных в DjangoPython

Программы на Python
Anonymous
 Сохранение данных в базе данных в Django

Сообщение Anonymous »

Я работаю на веб -сайте, чтобы рекомендовать акции на фондовом рынке, основываясь на исторически надежных стратегиях торговли. Предполагается, что на сайте будет показан. Глядя в БД, кажется, что большая часть данных не сохраняется в БД. Существует также еще одна проблема, которая может быть связана: при запуске кода я получаю название компании для последней акции, которая проходит через себя, но для других там просто говорит «нет». Я был бы благодарен, если кто -то сможет мне помочь.def compile_queue(self):
from stock.models import Stock
list_of_stocks = Stock.objects.prefetch_related("stock_data", "strategies", "recommendations").values('ticker')[0:101]
for i in list_of_stocks.values():
try:
#Update db with new data
ticker = i.ticker
stock_object = Stock_Class(ticker)
self.list_of_operations.append(lambda i=i: stock_object.update_data(i))

# Get strategy objects
moving_average_strategy = Moving_Average_Strategy(ticker)
rsi_strategy = RSI_Strategy(ticker)
bollinger_band_strategy = Bollinger_Bands_Strategy(ticker)

# Add strategies to the queue
self.list_of_operations.append(lambda:moving_average_strategy.apply_strategy())
self.list_of_operations.append(lambda:rsi_strategy.apply_strategy())
self.list_of_operations.append(lambda:bollinger_band_strategy.apply_strategy())

self.list_of_operations.append(lambda:stock_object.set_recommendations(i))
except Exception as e:
print(f"(Trading_System.py) The required actions for {i} could not be run due to Error: {e}")
< /code>
Здесь является частью кода, который получает данные для данной акции и должен сохранить их в базе данных: < /p>
def update_data(self, primary_key):
stock = yf.Ticker(self.ticker)
stock_info = stock.info
current_date_and_time = timezone.now()

try: # Updates data for Stock model
stock_model = Stock.objects.get(ticker=self.ticker)
stock_model.company_name = stock_info.get('shortName')
stock_model.sector = stock_info.get('sector')
stock_model.last_updated = current_date_and_time
stock_model.save()
except ObjectDoesNotExist:
print("(Stock.py 1) There was a problem executing getting the data or saving it to the database.")

try: # Updates data for StockData model
stock_data_model = StockData.objects.get(ticker=self.ticker)
stock_data_model.current_date = date.today()
stock_data_model.current_price = stock_info['currentPrice']
stock_data_model.last_200_close_prices = self.get_stock_close_prices()
price_change = stock_data_model.current_price - stock_data_model.last_200_close_prices[-2]
stock_data_model.price_change = price_change
stock_data_model.price_change_percent = 100*(price_change/stock_data_model.last_200_close_prices[-2])
stock_data_model.save()
except ObjectDoesNotExist:
print("(Stock.py 2) There was a problem executing getting the data or saving it to the database.")

< /code>
Я проверил, что получаю правильные данные, и это не является проблемой. Я спросил об этом CHATGPT, и у него нет ответа, который сработал для меня.>

Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-django

Вернуться в «Python»