Несколько Баз данных в Django 1.0.2 с пользовательским менеджером

Кажется, работает алгоритм bellman_ford_predecessor_and_distance. Если расстояние < = -100, то шар остановился на узле предшественника, поэтому я скопировал график, удалил соответствующие ребра и снова запустил алгоритм для проверки.

import networkx as nx

G = nx.DiGraph()

G.add_edge(1, 2, weight= -50)
G.add_edge(2, 3, weight= 40)
G.add_edge(3, 4, weight= -50)
G.add_edge(4, 5, weight= -90)
G.add_edge(1, 6, weight= -105)
G.add_edge(6, 7, weight= 110)

pred, dist = nx.bellman_ford_predecessor_and_distance(G, 1)

print(pred, dist)

F = G

for x, y in dist.items():
 if y <= -100:
  z = pred.get(x)[0]
  F.remove_edge(z,x)  

pred, dist = nx.bellman_ford_predecessor_and_distance(G, 1)

print(pred, dist)
6
задан Vadim Kotov 11 July 2017 в 14:30
поделиться

3 ответа

Вы можете поговорить с Алексом Гейнором , поскольку он добавляет поддержку MultiDB и ее возможный выпуск в Django 1.2 . Я уверен, что он будет признателен за отзывы и вклад тех, кто собирается использовать MultiDB. Это обсуждается в основном списке django-developers . Его ветвь MultiDB может быть даже пригодна, я не уверен.

Поскольку я думаю, вы, вероятно, не можете дождаться, и если ветка MultiDB непригодна, вот ваши варианты.

  • Следуйте Eric Flows метод , имея в виду, что он не поддерживается, и новый выпуск Django может его сломать. Кроме того, некоторые комментарии предполагают, что его уже нарушены . Это будет взлом.
  • Другой вариант - использовать совершенно другой метод доступа к одной из ваших баз данных. Возможно, SQLAlchemy для одного, а затем Django ORM. Я исхожу из предположения, что одна, вероятно, будет более ориентирована на Django, а другая - это устаревшая база данных.

Подводя итог. Я думаю, что взлом MultiDB в Django, вероятно, неправильный путь, если только вы не будете готовы поддерживать свои хаки позже. Поэтому я думаю, что другой ORM или доступ к базе данных предоставят вам самый чистый путь, поскольку тогда вы не выходите с поддерживаемыми функциями и, в конце концов, все это просто Python.

Я исхожу из предположения, что одна, вероятно, будет более ориентирована на Django, а другая - это устаревшая база данных.

Подводя итог. Я думаю, что взлом MultiDB в Django, вероятно, неправильный путь, если только вы не будете готовы поддерживать свои хаки позже. Поэтому я думаю, что другой ORM или доступ к базе данных предоставят вам самый чистый путь, поскольку тогда вы не выходите с поддерживаемыми функциями и, в конце концов, все это просто Python.

Я исхожу из предположения, что одна, вероятно, будет более ориентирована на Django, а другая - это устаревшая база данных.

Подводя итог. Я думаю, что взлом MultiDB в Django, вероятно, неправильный путь, если только вы не будете готовы поддерживать свои хаки позже. Поэтому я думаю, что другой ORM или доступ к базе данных предоставят вам самый чистый путь, поскольку тогда вы не выходите с поддерживаемыми функциями и, в конце концов, все это просто Python.

4
ответ дан 17 December 2019 в 04:52
поделиться

This probably isnt the answer your looking for, but its probably best if you move everything you need into the one database.

0
ответ дан 17 December 2019 в 04:52
поделиться

Моя компания добилась успеха в использовании нескольких баз данных, внимательно следя за этим сообщением в блоге: http://www.eflorenzano.com/blog/post/easy-multi-database-support- django /

1
ответ дан 17 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: