Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 28, 2014 15:17:51

quadright
Зарегистрирован: 2013-07-26
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Как обратиться к view в mysql?

Создал view в mysql

CREATE VIEW my_view AS SELECT * FROM my_table;
Далее модель в models.py
class application(models.Model):
    mutumba = models.DateTimeField()
    class Meta:
        db_table = 'my_view'

При попытке получить данные из таблицы получаю ошибку: (1146, “Table ‘my_database.my_view’ doesn't exist”). Подскажите, люди добрые?

View в БД создался нормально, sql-запросами нужные выборки проходят.

Отредактировано quadright (Апрель 28, 2014 15:19:08)

Офлайн

#2 Апрель 28, 2014 15:59:55

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

Как обратиться к view в mysql?

Извините, но зачем потребовалось создавать таблицу руками? Не легче ли использовать стандартные средства django или south? Тогда и ошибок таких не будет.

Офлайн

#3 Апрель 28, 2014 17:45:00

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Как обратиться к view в mysql?

Сам не пробовал но пишут что это не проблема.

Офлайн

#4 Апрель 29, 2014 03:44:01

quadright
Зарегистрирован: 2013-07-26
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Как обратиться к view в mysql?

fongostev
Извините, но зачем потребовалось создавать таблицу руками? Не легче ли использовать стандартные средства django или south? Тогда и ошибок таких не будет.

Имею “удовольствие” с таблицей, которую менять нельзя, есть другое рабочее php-приложение, которое её использует. И там данные timestamp в виде int хранятся… После некоторых быдло-кодеров, такой вот ерундой приходится страдать

Офлайн

#5 Апрель 29, 2014 05:54:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как обратиться к view в mysql?

quadright
Имею “удовольствие” с таблицей, которую менять нельзя, есть другое рабочее php-приложение, которое её использует. И там данные timestamp в виде int хранятся… После некоторых быдло-кодеров, такой вот ерундой приходится страдать
В любом случае DateTimeField и IntegerField - это разные типы данных. Я бы начал решать проблему с написания кастомного поля для UnixTymestampField. Вот как то так
http://stackoverflow.com/questions/11332107/timestamp-fields-in-django



Офлайн

#6 Апрель 30, 2014 22:26:17

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

Как обратиться к view в mysql?

quadright
Имею “удовольствие” с таблицей, которую менять нельзя, есть другое рабочее php-приложение, которое её использует. И там данные timestamp в виде int хранятся… После некоторых быдло-кодеров, такой вот ерундой приходится страдать

В php time() возвращает timestamp в int формате. На больших объемах данных , int работает гораздо быстрее чем datetime поле. Во многих случаях, хранение даты в int себя оправдывает, особенно когда вместо ORM запрос в базу формирует программист.

В случае с вьювом, можно просто попробовать queryset переопределить на свой запрос.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version