Size: a a a

Django [ru] #STAY HOME

2020 April 09

DN

Damir Nafikov in Django [ru] #STAY HOME
Я в одной книге нашел некоторую реализацию сей идеи


# тут происходит сама логика очередей, учитывается привязка к другой моделе
class OrderField(models.PositiveIntegerField):
   def __init__(self, for_fields=None, *args, **kwargs):
       self.for_fields = for_fields
       super(OrderField, self).__init__(*args, **kwargs)

   def pre_save(self, model_instance, add):
       if getattr(model_instance, self.attname) is None:
           # no current value
           try:
               qs = self.model.objects.all()
               if self.for_fields:
                   # filter by objects with the same field values
                   # for the fields in "for_fields"
                   query = {field: getattr(model_instance, field) for field in self.for_fields}
                   qs = qs.filter(**query)
               # get the order of the last item
               last_item = qs.latest(self.attname)
               value = last_item.queue_number + 1
           except ObjectDoesNotExist:
               value = 1
           setattr(model_instance, self.attname, value)
           return value
       else:
           return super(OrderField,
                        self).pre_save(model_instance, add)
источник

DN

Damir Nafikov in Django [ru] #STAY HOME
Пример, как использовал новосозданное поле в модели
class Module(TimeLearningMixin, ByQueueNumberMixin, models.Model):
   name = models.CharField(max_length=200)
   course = models.ForeignKey(Course, on_delete=models.CASCADE, related_name='modules', default=None)

   queue_number = OrderField(blank=True, for_fields=['course'])
источник

DN

Damir Nafikov in Django [ru] #STAY HOME
и это так-то работает, но хотел узнать, может есть еще что-то такое
источник

r

rtme in Django [ru] #STAY HOME
Damir Nafikov
Всем привет!
Есть задача. У меня модели Курс и Модуль, модуль привязан к определенному курсу. Я хочу сделать так, чтобы у каждого модуля был свой номер в очереди относительно курса, в котором он находится
Тип, если у меня два модуля ссылаются на один и тот же курс, то у них порядковые номера не могут быть одинаковыми, а если я захочу так сделать, то будет ошибка
Существует ли такая библиотека для джанги?
доп int поле, уникальное + на фронте при добавлении +1 к максимальному
источник

r

rtme in Django [ru] #STAY HOME
Damir Nafikov
Всем привет!
Есть задача. У меня модели Курс и Модуль, модуль привязан к определенному курсу. Я хочу сделать так, чтобы у каждого модуля был свой номер в очереди относительно курса, в котором он находится
Тип, если у меня два модуля ссылаются на один и тот же курс, то у них порядковые номера не могут быть одинаковыми, а если я захочу так сделать, то будет ошибка
Существует ли такая библиотека для джанги?
+ на фронте dragable можно реализовать, если нужно двигать положение
источник

r

rtme in Django [ru] #STAY HOME
Damir Nafikov
Всем привет!
Есть задача. У меня модели Курс и Модуль, модуль привязан к определенному курсу. Я хочу сделать так, чтобы у каждого модуля был свой номер в очереди относительно курса, в котором он находится
Тип, если у меня два модуля ссылаются на один и тот же курс, то у них порядковые номера не могут быть одинаковыми, а если я захочу так сделать, то будет ошибка
Существует ли такая библиотека для джанги?
источник

Z

ZHU in Django [ru] #STAY HOME
привет всем
подскажите почему в модели
не вызывается метод делете
def delete(self, *args, **kwargs):
   try:
       n_boock = NumberBooks.objects.get(school=self.school, edition=self.edition)
       val = self.type_of_movement * self.quantity
       n_boock.in_warehouse -= val
       n_boock.save()
   except:
       pass
   super(IncomeExpense, self).delete(*args, **kwargs)
источник

Z

ZHU in Django [ru] #STAY HOME
или его надо обернуть в классметод ?
источник

Z

ZHU in Django [ru] #STAY HOME
или в querysets другой метод работает ?  
IncomeExpense.objects.filter(edition_paper_invoice=eid, type_of_movement=1).delete()
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ZHU
привет всем
подскажите почему в модели
не вызывается метод делете
def delete(self, *args, **kwargs):
   try:
       n_boock = NumberBooks.objects.get(school=self.school, edition=self.edition)
       val = self.type_of_movement * self.quantity
       n_boock.in_warehouse -= val
       n_boock.save()
   except:
       pass
   super(IncomeExpense, self).delete(*args, **kwargs)
а ты его как вызываешь?
источник

Z

ZHU in Django [ru] #STAY HOME
IncomeExpense.objects.filter(edition_paper_invoice=eid, type_of_movement=1).delete()
вот так
а метод delete написал в модели
источник

Z

ZHU in Django [ru] #STAY HOME
Dan Tyan
а ты его как вызываешь?
https://gist.github.com/lookonkz/61d7a3884121ffa18acc25cb56d4a504

главное метод save работоает
а delete нет
источник

I

Ingvar in Django [ru] #STAY HOME
всем привет.помогите плиз с одной проблемой...делаю два языка на сайте.перевод для моделей сделал...сейчас хочу перевести статический текст....создал в корне проекта папку locale .затем выполнил в консоли команду python manage.py makemessages -l en -e html ,но у меня в папке локал документы не создались
источник

I

Ingvar in Django [ru] #STAY HOME
помогите понять где ошибка
источник

S

Skoomer in Django [ru] #STAY HOME
Ingvar
помогите понять где ошибка
источник

S

Skoomer in Django [ru] #STAY HOME
попробуй это
источник

I

Ingvar in Django [ru] #STAY HOME
Skoomer
попробуй это
у меня файл .ро не создается вобще
источник

I

Ingvar in Django [ru] #STAY HOME
локал как была пустой так и осталась
источник

S

Skoomer in Django [ru] #STAY HOME
Ingvar
у меня файл .ро не создается вобще
тебе трейсбек выдает ?
источник

S

Skoomer in Django [ru] #STAY HOME
ошибку  или еще что-то
источник