Найти - Пользователи
Полная версия: Генератор отчетов
Начало » Django » Генератор отчетов
1 2
Raziel
Я конечно приношу извинения за мой русский ибо в школе было двойка с натяжкой, но все же я не понял к чему было это : “Е где Нич ЕгГго не Ясно”
Я открыл книгу посмотрел, как описываются поля в модели, и там был представлен такой вариант.

Так что скажите по существу, что именно исправить по пунктам я сделаю, и вам будет удобно, и мне может помогут

PS. если удалить три этих поля джанго все схавает и ошибок не выдает, так что ошибок получается в коде нету, отступы соблюдены.
vaxXxa
Я говорил именно про http://www.python.org/dev/peps/pep-0008/

1) Между классами ставьте пробелы
2) Название классов CamelCase (http://ru.wikipedia.org/wiki/CamelCase)
3) Unicode и unicode - это не одно и тоже
4) Между названием классов, функций и открывающейся скобкой не надо пробел
5) Между названием полей (с маленькой буквы) и “=” ставьте пробелы
6) Названия полей лучше на английском (ИМХО)

Просто посмотрите на туториалы, на код других людей…
Я понимаю, что язык поддерживает много чего и все кагбэ будет валидно, но красивый код приятнее читать и больше людей Вам ответят на вопрос.
Raziel
from django.db import models

class NazvaniePodrazdelenia(models.Model):
nazvanie_podrazdelenia = models.CharField(max_length=50)

def __unicode__ (self):
return self.nazvanie_podrazdelenia

class NazvanieOtcheta(models.Model):
nazvanie_otcheta = models.CharField(max_length=50)

def __unicode__ (self):
return self.nazvanie_otcheta

class SxemaOtcheta(models.Model):
nazvanie_pod = models.ForeignKey(NazvaniePodrazdelenia)
nazvanie_otch = models.ForeignKey(NazvanieOtcheta)
nazvanie_polya = models.CharField(max_length=200)
tip_polya =

def __unicode__ (self):
return u'%s %s' % (self.nazvanie_polya, self.tip_polya)

class Meta:
ordering = ['nazvanie_polya']

class TableZnachenui(models.Model):
sxema_otcheta = models.ForeignKey(SxemaOtcheta)
nazvanie_otcheta = models.ForeignKey(NazvanieOtcheta)
nomer_zapisi =
znachenie_zapisi =
ну вроде сделал читабельной.
По поводу unicode, да мой промах казалось, что в учебнике было именно с большой буквы.
Так и осталось три непонятных для меня поля, модель постарался написать по описанию из 5 сообщения.
vaxXxa
и да.. там мой промах тоже:
между классами ставьте Enter, а не пробелы)))
Raziel
Ребят что вообще нет ни каких мыслей?
Raziel
Доброго времени суток. Господа назрел следующий вопрос: имеется часть модели, код будет представлен ниже, нужно реализовать выборку из БД, на основе того как будет заполнена форма и занесение в БД информации по той же самой форме.

class SxemaOtcheta(models.Model):
nazvanie_pod = models.ForeignKey(NazvaniePodrazdelenia, verbose_name=u'Название структурного подразделения')
nazvanie_otch = models.ForeignKey(NazvanieOtcheta, verbose_name= u'Название отчета')
nazvanie_polya = models.CharField(max_length=200, verbose_name=u' Название поля')

def __unicode__ (self):
return self.nazvanie_polya

class Meta:
ordering = ['nazvanie_polya']

class TableZnachenui(models.Model):
nazvanie_pod = models.ForeignKey(NazvaniePodrazdelenia, verbose_name=u'Название структурного подразделения')
nazvanie_otcheta = models.ForeignKey(NazvanieOtcheta, verbose_name= u'Название отчета')
nomer_zapisi = models.ForeignKey(SxemaOtcheta, verbose_name= u'Номер записи')
znachenie_zapisi = models.CharField(max_length=200, verbose_name= u'Содержание поля')

def __unicode__ (self):
return self.znachenie_zapisi
Из модели TableZnachenui я сделал форму:
class TableZnachenuiForm(ModelForm):
class Meta:
model = TableZnachenui
fields = ('nazvanie_pod', 'nazvanie_otcheta','nomer_zapisi','znachenie_zapisi')
Создал view для формы, отобразил и тут появился камень преткновения, мне нужно сделать фильтр по информации которую сейчас на странице набирает пользователь, если точнее сформулировать то после того как он выберет значения из ниспадающих списков, фильтр должен будет отобразить результат на странице.

По нажатию submit введенная информация должна добавиться и отобразиться.

Логично что я должен взять из таблицы TableZnachenui: поля nazvanie_pod и nazvanie_otcheta, а также взять из таблицы SxemaOtcheta поля: nazvanie_pod, nazvanie_otch
В случае их совпадения вывести nomer_zapisi
Может я плохо рылся в документации, но нечего подобного я не нашел
Raziel
Так вроде понял, логично ли будет сделать так нужно сделать 3 формы, в модели у меня еще два класса “Название отчета” и “Название подразделения”. Делаю форму для “Название подразделения”, делаю форму под “Название отчета”, после чего пишу фильтр по классу SxemaOtcheta который бы выводил nazvanie_polya, если совпали “Название отчета” и “Название подразделения” . Это выдаст мне номера всех строк и nazvanie_polya.
После чего эту инфу использовать в последней форме TableZnachenuiForm куда как раз и передать номера строк и значения.

Скажите у меня хоть правильный ход мыслей? А то застопорился и сделать не чего не могу(
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB