有一个应用模型。意思很简单,作者提交申请,现场管理员指定承包商执行,承包商在完成收到的申请后完成。一切似乎都很好,应用程序模型被创建,确保管理员选择承包商后,应用程序立即收到关闭状态。你知道吗
但是有一个问题我无法处理,当管理员关闭应用程序(状态为“Completed”)时,应用程序不会获得状态Completed,因为艺术家是因为模型中的save函数而被分配给它的。你知道吗
如何使申请的状态完整,即使承包商被任命为该申请?我事先请你原谅我这样提出这个问题,我还是个初学者。(非常感谢所有能帮忙的人)
你知道吗型号.py你知道吗
class Application(models.Model):
STATUS_CHOICES = (
('In_the_work', 'В работе'),
('New', 'Новая'),
('Complited', 'Завершена')
)
author = models.ForeignKey('auth.User', related_name = '+', verbose_name = 'Автор')
title = models.CharField(max_length=50, verbose_name = 'Заголовок')
text = models.TextField(verbose_name = 'Описание проблемы')
room = models.CharField(max_length = 4, verbose_name = 'Кабинет')
published_date = models.DateField(blank=True, null=True, default =
datetime.datetime.now, verbose_name = 'Дата')
status = models.CharField(max_length=15, choices=STATUS_CHOICES,
default='Новая', verbose_name = 'Статус')
owner = models.ForeignKey('auth.User', related_name = '+', null = True,
blank = True, limit_choices_to={ 'groups__name': 'Техническая поддержка'},
verbose_name = 'Исполнитель')
def save(self, *args, **kwargs):
if self.owner != None:
self.status = 'In_the_work'
super(Application, self).save(*args, **kwargs)
我不知道你所说的“艺术家”被分配到申请表是什么意思。你知道吗
当您的意思是将承包商分配给它时,我认为您指的是将“所有者”(所有者字段值)分配给应用程序模型。如果是这种情况,那么错误是,在save方法中,您正在检查所有者是否不同于None,在这种情况下,您总是将状态覆盖为“in the work”。你知道吗
所以也许解决办法是:
这样,只有当状态与complited不同时才覆盖状态,而不是每次所有者不是None时。你知道吗
谢谢你。你知道吗
相关问题 更多 >
编程相关推荐