• Как правильно совмещать поля из разных таблиц в Django?

    koef
    @koef Автор вопроса
    Вот как у меня получилось.

    models.py:
    ...
    class Action(models.Model):
        action = models.CharField('Действие', max_length=13)
        name = models.CharField('ФИО', max_length=200)
        data = models.DecimalField('Данные', decimal_places=2, max_digits=8)
    
        class Meta:
            db_table = 'actions'  # задаем свое имя таблицы в базе для этого класса
    
        def __unicode__(self):
            return unicode(self.clientid)
    
    
    class ActionResult(models.Model):
        action = models.OneToOneField('Action', to_field='id', related_name='actionresult', primary_key=True,
                                           db_column='action_id')
        result = models.CharField('Итог', max_length=45)
    
        class Meta:
            db_table = 'results'  # задаем свое имя таблицы в базе для этого класса
            managed = False
    
        def __unicode__(self):
            return unicode(self.src)


    urls.py:
    urlpatterns = patterns('',
    ...
        url(r'^history/$', views.history, name='history'),
    ...
    )


    views.py:
    def history(request):
        last_hist = myapp.models.action.objects.all()
        context = {
            'last_hist': last_hist,
        }
        return render(request, 'myapp/index.html', context)


    index.html:
    {% if last_hist %}
        <table width="60%" border="1" cellpadding="4">
            <tr align="right" valign="top">
                <td>Имя</td>
                <td>Данные</td>
                <td>Результат</td>
        {% for act in last_hist %}
            <tr align="right" valign="top">
                <td>{{ act.name }}</td>
                <td>{{ act.data }}</td>
                <td>{{ act.actionresult.result }}</td>
            </tr>
        {% endfor %}
        </table>
    {% else %}
        <p>No actions are available.</p>
    {% endif %}
    Ответ написан
    Комментировать
  • Получение id виджета

    koef
    @koef Автор вопроса
    Разобрался сам :)
    Нужно вместо
    entry.get_name()
    
    использовать
    Gtk.Buildable.get_name(entry)
    
    Ответ написан
    Комментировать
  • WiFi роутер. Определение уровень сигнала (RSSI) всех устройств в зоне видимости

    Есть для этих целей замечательная программа — Ekahau HeatMapper. Берете ноутбук с установленной программой, загружаете в нее план здания, далее прохаживаетесь по всей территории попеременно щелкая мышкой в том месте на карте, где именно вы находитесь в данный момент. Программа, анализируя уровень сигналов в контрольных точках, рисует вот такие очень наглядные карты:
    image
    image

    Но нужно учитывать, что устройства могут принимать сигнал по разному. То есть ноутбук в этой точке будет уверенно принимать сигнал, в отличии от телефона, который будет ловить еле-еле.
    Ответ написан
    Комментировать
  • Как запретить доступ к сайту, эмулировав его недоступность/неработоспособность/... etc?

    А если перенаправлять обращения к этим сайтам, на какие-то левые несуществующие ресурсы?
    Должно получиться не палевно, просто «This webpage is not available».
    Ответ написан
  • Настройка подключения через proxy в Ubuntu Server 10.10

    Диск в любом случае не должен просить, если пакеты вытягиваются из инета. Значит у вас только локальные репозитории подключены.
    Проверьте свой /etc/apt/sources.list
    У меня он выглядит вот так.
    Ответ написан
    1 комментарий
  • Настройка подключения через proxy в Ubuntu Server 10.10

    Может дело в том, что вы прописываете export http_proxy=http://userass@ProxyAddress:Proxy:Port под своей учеткой, а потом при обновлении повышаете права до рута. Что если сделать sudo -i, а уже после этого:
    #export http_proxy=http://userass@ProxyAddress:Proxy:Port
    #apt-get update && apt-get upgrade

    А прокси с авторизацией? Пароль не забыли вставить?
    export http_proxy=http://user:pass@ProxyAddress:Proxy:Port

    Ну а вообще мне всегда хватало:

    Acquire::ftp::Proxy «http://username:pass@proxy:port/»;
    Acquire::ftp::Proxy «ftp://username:pass@proxy:port/»;
    Acquire::::Proxy «true»;

    в /etc/apt/apt.conf.d/proxy

    и
    export http_proxy=http://user:pass@ProxyAddress:Port
    export ftp_proxy=http://user:pass@ProxyAddress:Port

    попробуйте просто что-то вытянуть wget'ом, сразу станет ясно видит ли он вообще прокси, или может проблема именно в прохождении через прокси
    Ответ написан
    1 комментарий