Форум сайта python.su
продолжаю учиться, делая приложение с подачей заявок.
раньше у меня “подающий заказ” вбивался руками. теперь настала пора прикрутить бд с базой клиентов.
чтобы django знал, что помимо дефолтной базы надо пользоваться еще одной, внес соответствующие изменения в файл settings.py:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'C:/path/to/folder/mydb.db', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', }, 'clients': { 'NAME': 'clients', 'ENGINE': 'django.db.backends.mysql', 'USER': 'root', 'PASSWORD': 'root' } }
... class Clients(models.Model): ID = models.CharField(max_length=50) NAME = models.CharField(max_length=50) CARD = models.CharField(max_length=50) ...
Отредактировано andrey16 (Окт. 10, 2013 10:24:26)
Офлайн
Ожидаемый вопрос, а зачем две базы городить? Одной мало?
Офлайн
БД с клиентами от другого приложения. через другое приложение записи в бд заносятся и через него же при необходимости редактируются. от моего же приложения требуется только дергать карты и их владельцев.
прокомментируйте пожалуйста 3 пункта из стартового сообщения. я что-то заплутал в 3 соснах.
Офлайн
И всё-таки, зачем две базы? Пусть одно приложение пишет, другое читает, какая разница?
В одном проекте делайте модель, в другом симлинк на эту модель.
Офлайн
Можно использовать роутинг баз, вручную в запросе, через менеджер модели …
https://docs.djangoproject.com/en/1.5/topics/db/multi-db/#database-routers
Офлайн
FishHook, пока так и сделал.
Vaal, благодарю. будем разбираться
—————
class Card(models.Model): ... NAME = models.CharField(max_length=50, verbose_name='Клиент') CARDNUMBER = models.CharField(max_length=50, primary_key=True, verbose_name='№ карты') def __unicode__(self): return self.CARDNUMBER class Blabla(models.Model): ... card = models.ForeignKey(Card) card_owner = models.CharField(max_length=150, null=True, blank=True, editable=False) ... def save(self): if self.card_owner is None: self.card_owner = self.card.NAME super(Blabla, self).save() class BlablaAdmin(admin.ModelAdmin): ... raw_id_fields = ('card', ) ...
Офлайн
andrey16
хочу, чтобы при подаче заявки, при нажатии “лупы” и выборе там номера карты, автоматически заполнялось бы поле card_owner и юзер видел поле card_owner, но не мог редактировать(чтобы результат было видно еще до нажатия кнопки “сохранить”)
Отредактировано andrey16 (Окт. 17, 2013 15:37:25)
Офлайн