0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 132
1

Модели, бд, вывод результата запроса

15.10.2015, 19:15. Показов 697. Ответов 3
Метки нет (Все метки)

Питон 3.4 Джанго 1.8 БД стандарт sqllite

на страничку выводится информация о сотруднике. Поля Фамилия, Имя, отчество, Подразделение, Должность.
модель:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from django.db import models
 
class Classpro(models.Model):
    dolznost = models.CharField(max_length=100)
 
    def __str__(self):
        return u'%s' % (self.dolznost)
 
    class Meta():
        db_table = "Должность"
 
class Podr(models.Model):
    podrazd = models.CharField(max_length=70)
 
    class Meta():
        db_table = "Подразделение/Отделение"
 
 
    def __str__(self):
        return u'%s' % (self.podrazd)
 
class Meat(models.Model):
    logname = models.CharField(max_length=10) # login
    password = models.CharField(max_length=10) # password
    name1 = models.CharField(max_length=30) #фамилия
    name2 = models.CharField(max_length=30) #РёРјСЏ
    name3 = models.CharField(max_length=30) #отчество
    born = models.DateField()
    classpro = models.ForeignKey(Classpro)
    podr = models.ForeignKey(Podr)
    zarplata = models.IntegerField()
    achiv = models.IntegerField() # права доступа
 
    def __str__(self):
        return u'%s %s %s' % (self.name1, self.name2, self.name3)
 
    class Meta():
        ordering = ['name1']
        db_table = "Пользователи"
фрагмент вьюхи:
Python
1
2
3
4
5
6
7
8
else:
                                args['trueqq'] = 1
                                args['name1'] = Meat.objects.get(name1="Strashko")
                                args['name2'] = Meat.objects.get(name2="Max")
                                args['name3'] = Meat.objects.get(name3="Igorevich")
                                args['podr'] = Podr.objects.get(podrazd="0035")
                                args['pro'] = Classpro.objects.get(dolznost="enginer")
                                return render_to_response('self_docsup.html', args, context_instance=RequestContext(request))
выводит в html:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{% block self %}
 
<table border="1" align="center" width="100%">
    <tr height="400">
        <td width="276"><img class="selfphoto" width="250" height="350" src="{% static "static/img/selfphoto.jpg" %}"></td>
        <td>
            <label>{{ name1 }}</label><br><br>
            <label>{{ name2 }}</label><br><br>
            <label>{{ name3 }}</label><br><br>
            <label>{{ podr }}</label><br><br>
            <label>{{ pro }}</label>
        </td>
    </tr>
</table>
 
{% endblock %}
вопрос1: args['name2'] = Meat.objects.get(name2="Max") * здесь я просто подставил зная , что у меня есть*
Как мне выбрать объект из бд и вывести его на странице? т.е. у сотрудника есть имя в бд, как его вывести, учитывая , что естественно имя одно значение. И конечно там будет много сотрудников и objects.filter мне тоже не помог(( я новичек, так что не серчайте... для полноты картины: (я знаю, что есть у джанго встроенная авторизация)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def login1(request):
    args = {}
    args.update(csrf(request))
    if request.method == 'GET':
        if 'logname' in request.GET:
            logname = request.GET['logname']
            if not logname:
                args['login_error1'] = "no no no"
                return render_to_response('self_docsup.html', args, context_instance=RequestContext(request))
            else:
                args['logname'] = Meat.objects.filter(logname=logname)
                if not args['logname']:
                    args['login_error1'] = "no no no"
                    return render_to_response('self_docsup.html', args, context_instance=RequestContext(request))
                else:
                    if 'password' in request.GET:
                        password = request.GET['password']
                        if not password:
                            args['login_error1'] = "no no no"
                            return render_to_response('self_docsup.html', args, context_instance=RequestContext(request))
                        else:
                            args['password'] = Meat.objects.filter(password=password)
                            if not args['password']:
                                args['login_error1'] = "no no no"
                                return render_to_response('self_docsup.html', args, context_instance=RequestContext(request))
                            else:
                                args['trueqq'] = 1
                                args['name1'] = Meat.objects.get(name1="Strashko")
                                args['name2'] = Meat.objects.get(name2="Max")
                                args['name3'] = Meat.objects.get(name3="Igorevich")
                                args['podr'] = Podr.objects.get(podrazd="0035")
                                args['pro'] = Classpro.objects.get(dolznost="enginer")
                                return render_to_response('self_docsup.html', args, context_instance=RequestContext(request))
                    else:
                        return redirect('/')
        else:
            return redirect('/')
    else:
        return redirect('/')
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2015, 19:15
Ответы с готовыми решениями:

Присвоение переменной результата запроса
Подскажите как присвоить значение результата запроса переменной, причём чтоб переменная...

Вывод результата запроса
код ниже упорно выдает мне &quot;ноуп&quot; и больше ничего. чяднт? &lt;?php $db =...

Вывод результата запроса
Проблема следующая: Нужно сделать запрос для подсчета НДФЛ по сотрудникам за выбранный месяц....

Вывод результата запроса
Начал делать запрос проблема с лишними записями, когда делаю через конструктор все норм - лишних...

3
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
16.10.2015, 15:52 2

Не по теме:

Жестокие конструкции :)


Поясни подробнее что ты хочешь у видеть на странице.
И лучше использовать стандартную аутентификацию. Если внимательнее посмотреть, то у функции login из from django.contrib.auth.views есть параметры template_name, для использования своего шаблона, и extra_context, для дополнения конттекста своими значениями.
0
0 / 0 / 0
Регистрация: 12.05.2015
Сообщений: 132
16.10.2015, 16:23  [ТС] 3
на страничке будет имя, фамилия и прочие данные сотрудника. В модели видно, что сотрудник заполняет логин , пароль и на странице будут видны его параметры.
т.е. 1 графа- значение
2 графа другое значение
и т.д.
так вот как мне эти значения вывести? все они есть в бд.
0
ivlevdenis
16.10.2015, 23:33     Модели, бд, вывод результата запроса
  #4

Не по теме:

1. Прочитать про вьюхи.
2. Прочитать про расширение модели User.
3. Не пользовать django в качестве кувалды.
4. Да хоть что то почитать про django...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2015, 23:33

Вывод результата запроса
Привет программЁры! :-) Проблема такая - надо что бы результат выполнения запроса (на SQL в...

Вывод результата запроса
Прошу прощения, за вопрос по &quot;азам&quot;, делаю только первые шаги. Подключил локальную базу...

Вывод результата запроса в Label
Столкнулся с такой проблемой, при нажатии на кнопку нужно посчитать количество записей в таблице...

Вывод результата запроса в dataGridView
Доброго времени суток!Делаю первый проект в vs c БД С#. Есть форма,на ней combobox-ы и datagrid.При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru