我用一个计算字段找到了一个工作。检查以下链接:
How to add a calculated field to a Django model
下面的一切
@财产
我添加了一些额外的代码
我的模型
:
class ConnecThor(models.Model):
# Incrementing ID (created automatically)
hostname = models.CharField(max_length=40)
MAC_address = models.CharField(max_length=17,
default='00.00.00.00.00.00', help_text="Example format: 255.255.255.255",
primary_key=True)
IP_address = models.CharField(max_length=15, default='000.000.000.000', help_text="Example format: 192.148.0.1")
config_version = models.CharField(max_length=10, default='000')
creation_date = models.DateTimeField(auto_now_add=True, null=True,
editable=False) # timezone.now() gedaan tijdens make migrations
@property
def log_file(self):
try:
return LogFiles.objects.get(MAC_address=self.MAC_address)
except LogFiles.DoesNotExist:
print('logfile not found')
class Meta(object):
db_table = 'connecthor' # table name
并且
我的观点
:
{% if connecthor.log_file %}
{% if connecthor.log_file.viewed > 0 %}
<td><a href="{% url 'show_error_log' connecthor.MAC_address %}" class="badge badge-teal">Approved</a></td>
{% else %}
<td><a href="{% url 'show_error_log' connecthor.MAC_address %}" class="badge badge-danger">Failed update</a></td>
{% endif %}
{% else %}
<td><label class="badge badge-warning">Not Found</label></td>
{% endif %}