如何从Django中的外键列获取日期

时间:2017-12-14 17:37:35

标签: python django postgresql

我是Django的新手。我有两个表StatusTableSystemTable,其中SystemTable有一个外来列“Status”,其中存储StatusTable状态的id。数据保存是按预期工作正常。我需要在Statuspage中显示系统的Statusname,但我只获得存储在SystemTable中的状态的id。

Models.py

class StatusTable(models.Model):
    status_name = models.CharField(max_length=20,default='')

    def __str__(self):
        return self.status

    class SystemTable(models.Model):
       sid = models.CharField(max_length=3)
       status = models.ForeignKey(StatusTable,null=True)

Viwes.py

def systemstatuspage(request):
    form = CreateTaskMaster()        
    task_title = SystemTable.objects.all()
    my_list = [ model_to_dict(x) for x in task_title]

    return render(request, 'task/task.html', {'form': form, 'sid':my_list})

enter image description here

1 个答案:

答案 0 :(得分:0)

无需手动将查询集转换为列表,您可以在模板中循环查询集。

def systemstatuspage(request):
    form = CreateTaskMaster()        
    tasks = SystemTable.objects.all()
    # remove this line
    # my_list = [ model_to_dict(x) for x in task_title]
    return render(request, 'task/task.html', {'form': form, 's_ids':tasks})

在模板中你可以使用外键关系

{% for s in s_ids %}
   {{s.status.status_name}}
{% endfor %}