Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 16, 2015 19:17:31

medelgover
Зарегистрирован: 2013-09-20
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

django хитрая галочка

Доброго времени суток. Имею проблему - хочу построить логику.
Есть 2 апликейшнена, 1 база.
Логика такая - в одном апликейшене создаются реквести, во втором апликейшене мы утверждаем эти реквести.

Первый апликейшн имеет следующие поля:
models.request

class Request(models.Model):
    request = models.CharField(max_length=30)
class VM(models.Model):
    request             = models.ForeignKey(Request)
    approved          = models.BooleanField(default=False)
    def get_readonly_fields(self, request, obj=None):
        if obj and obj.another_field == 'cant_change_amount':
            return self.readonly_fields + ['approved']
        return self.readonly_fields
еще много полей

models.approve
class VMApprove(models.Model):
    vm = models.OneToOneField('request.VM')
    def save(self, *args, **kwargs):
        print '[b]Тут должна быть какая-то магия[/b]'
        super(VMApprove, self).save(*args, **kwargs)
    def __unicode__(self):
        return unicode(self.vm)
    def name(self,*args, **kwargs):
        return unicode(self.vm.name)
    def Request(self):
        return self.vm.request

По сути мне не ясно как сделать что бы при сохранении объекта approve - проставлялась галочка в соотвующем реквесте.
Подскажите как это можна реализовать??

C помощью api вроде должно быть вот так
>>> VM.objects.get(name='VM1').approved=True
>>> VM.objects.get(name='VM1').save()

Вот как это сделать через функцию сохранения???

Отредактировано medelgover (Ноя. 17, 2015 11:00:34)

Офлайн

#2 Ноя. 19, 2015 08:17:00

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

django хитрая галочка

class VMApprove(models.Model):
    vm = models.OneToOneField('request.VM')
    def save(self, *args, **kwargs):
        self.vm.approved = True
        self.vm.save()
        super(VMApprove, self).save(*args, **kwargs)
    def __unicode__(self):
        return unicode(self.vm)
    def name(self,*args, **kwargs):
        return unicode(self.vm.name)
    def Request(self):
        return self.vm.request



Отредактировано plusplus (Ноя. 19, 2015 08:17:45)

Офлайн

#3 Ноя. 19, 2015 17:22:12

medelgover
Зарегистрирован: 2013-09-20
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

django хитрая галочка

plusplus громадное спасибо!!! То что нужно!!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version