我有一系列的模型都和这个一样:
class Documents(models.Model):
id = models.AutoField(primary_key=True)
paper = models.ForeignKey(
'Paper', models.DO_NOTHING, blank=True, verbose_name='Paper')
date = models.DateField('Date')
expired_date = models.DateField('Expired Date')
alert_warning_gg = models.SmallIntegerField(
'Alert Warning gg', blank=True, null=True)
enable = models.BooleanField('Enable')
def __str__(self):
return str(self.id) or ''
class Meta:
managed = False
db_table = 'Documents'
纸张字段由一个外键组成,外键连接到另一个模型,该模型具有一个称为红绿灯的字段。你知道吗
我需要一个函数来通知我与交通信号灯(红,黄,绿)时,日期字段到期内的模型是到期(黄),到期(红)和未到期(绿),把它与今天的日期相比,交通信号灯红和绿;并使用警告警告\u警告\u gg字段(这里你输入的天数之前的黄色)指示灯已标记)。你知道吗
我想把函数的结果标在模型纸的红绿灯区域。你知道吗
现在我已经在一个模型上测试了这个函数,所以它在ModelAdmin的一列中给出了结果。你知道吗
def custom_column(self, obj):
if obj.expired_date < datetime.datetime.now():
retval = ('red.jpg')
else
retval = ('green.jpg')
return "<img src='%s' alt='%s' />" % retval
custom_column.short_description = 'Status'
为了使它能在我想到的所有模型上工作,我需要扩展一个模型类并将这个函数插入其中。目前,我已经试图找到我正在使用的模型的实例和截止日期字段。你知道吗
class TrafficLight(Model):
def expired_date(self):
return 'expired_date'
def alert_warning_gg(self):
return 'alert_warning_gg'
class Meta:
abstract = True
@receiver(models.signals.post_save, sender=TrafficLight)
def expired_control(self, sender, instance, *args, **kwargs):
instance_traffic_light(
instance.related_model(),
instance.paper,
instance.expired_date(),
instance.alert_warning_gg())
问题是我不知道你怎么样。有人能帮我吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐