Спасибо. Да, так четка работает!
А на счет i.U.key = value в цикле, как на ваш взгляд канонично?
Сформировать отдельный словарь и передать его в темплейт?
Здравсвуйте! Спасибо за ответ!
for i in items:
print(i.id)
Так в лоб он не дает
AttributeError: 'KeyedTuple' object has no attribute 'id'
Если я кручу еще один цикл, тогда получается:
for i in items:
for a in i:
print(a.id)
В этом случае можно добраться до id.
И то там то id от User, а то id от UserItem.
То есть надо еще выбрать нужный.
На счет ключа ... По UserItem.id дальше идет обращение к memcached и оттуда получается кое-какая
инфа. Соответсвенно, можно, конечно создать отдельный словарь, чего-бы не хотелось и
передать его в темплейт.
А было бы круто засунуть эту информацию взятую из мемкеша прямо в items.
Да, так работает.
Подскажите плз, как корректно наследовать это.
Вот у меня есть файлик models.py
В нем лежит следующее:
###############
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy import inspect
db = SQLAlchemy()
class Android(db.Model):
class AppleRegionClas(db.Model):
class Arch(db.Model):
и т.д. 100500 классов.
###############
Все это мне нагенерил sqlacodegen.
А дальше я этот файлик подгружаю
from models import *
Как здесь правильно для всех классов переопределить __repr__ ?
- Функция inspect
from sqlalchemy import inspect
pk = inspect(rows).identity
print(pk)
Получил вот такое:
sqlalchemy.exc.NoInspectionAvailable: No inspection system is available for object of type
- А на счет def __repr__ - это же насколько код разбухнет, если в каждый класс такое вставить :)
И ассоциации там, конечно, есть во множестве.
Есть какой-то другой путь?
Не понял на счет "перезагрузить".
И какой дебагер надо использовать для 3.x во Flask, чтобы заглядывать во внутрь объекта, который получается из запроса sqlalchemy?
Я хочу увидеть, что приходит от MySQL, не крутя циклов.
xSkyFoXx , в перле просто уже почти стандарт дефакто Data::Dumper: perldoc.perl.org/Data/Dumper.html
Засовываешь туда любую структуру и она распечатывается со всеми потрохами.
Вот я и назвал дампер, хотя может быть в терминологии ошибаюсь.
Все остальное, так же как у вас.
Интересный вопрос, можно ли избавится и от этой функции, а в качестве key_prefix выдрать аргумент,
который передается в декоратор
@mobile_template('{mobile/}index.html')
qmax: В наследство досталась база, в которой стопяцот таблиц. И в каждой таблице десятки миллионов записей. Лишний раз трогать - совершенно не тянет. Добавлю, конечно, если не найду ничего получше.
В Flask-SQLAlchemy https://pythonhosted.org/Flask-SQLAlchemy/
все строится на основе классов.
Но добавлять в mysql primary key - не вижу необходимости.
Подскажите, плз, есть какой-то сакральный смысл использования table, вместо class?
Или можно просто закоментарить эту строку:
if not table.primary_key or table.name in association_tables:
В Flask-SQLAlchemy https://pythonhosted.org/Flask-SQLAlchemy/
все строится на основе классов.
Но добавлять в mysql primary key - не вижу необходимости.
Подскажите, плз, есть какой-то сакральный смысл использования table, вместо class?
Или можно просто закоментарить эту строку:
if not table.primary_key or table.name in association_tables:
xSkyFoXx , спасибо большое!
Да, помогло. Только не sqlautocode, который уже 4-ре года не обновлялся, а там в этом же вопросе
в комментариях рекомендуют sqlacodegen.
И на самом деле установил pip install sqlacodegen
Эргил Осин , нет такого файла у меня в центосе.
less /var/log/auth.log
/var/log/auth.log: No such file or directory
---------------------------------------------------
Да и всё это видно в файле /var/log/secure.
У меня задача заставить команды w, who, last показывать такие соединения.
Единственное решение, которое я вижу, это писать в файл wtmp такого рода соединения, по крону, например. Нашел перловый модуль, который может это делать. search.cpan.org/~mpiotr/User-Utmp-1.8/Utmp.pm
Но без поллитра пока не разберу как туда писать.