我试图轻松地呈现来自两个不同表(类)的数据。我有一个Environment
类和一个Changes
类,其中包含所有环境的历史更改
我的视图当前正在显示我的所有Environment
详细信息。我想在这个视图中添加上一次对每个环境所做的更改(例如上次修改者:User
)
我的models.py
看起来像这样:
class System(models.Model):
system_name = models.CharField(max_length=40, blank=True)
system_id = models.CharField(max_length=100, blank=True)
system_clusters = models.ManyToManyField(Cluster, blank=True)
system_owner = models.CharField(max_length=20, blank=True)
def __str__(self):
return self.system_name
class Changes(models.Model):
date = models.DateTimeField(auto_now_add=True)
cluster = models.ForeignKey(System, on_delete=models.CASCADE)
user = models.CharField(max_length=20, blank=True)
change_reason = models.CharField(max_length=50, blank=True)
def __str__(self):
return self.date
首先,我想用system
作为键,用change
作为值将字典传递给我的模板:
last_changes = {}
change = Changes.objects.filter(cluster__in=s.system_clusters.all()).order_by('-id')[0]
last_changes[s.system_id] = change.change_reason
即使它部分工作(我仍然试图在我的模板中解析dict),我觉得这不是任务的正确方法
我希望得到一个结果,我可以在模板中调用system.last_change
。我是否可以为System
类添加另一个字段,该字段将指向Changes
表中的last_change
您可以在系统上编写一个方法来返回项的最后更改:
现在您确实可以在模板中调用
system.last_change
相关问题 更多 >
编程相关推荐