如何用另一个模型的字段“替换”模型ID的名称?

时间:2018-07-15 22:28:41

标签: python django

如何在模板的表格列表中将模型ID(备忘录)的名称替换为其他模型(用户)的名字?

我使用django的默认用户模型。

示例: Picture Template

来自(ID = de)|日期|详细信息

2 | 2/2/2018 |评论

TO

来自(ID = de)|日期|详细信息

简| 2/2/2018 |评论

view.py

def MemoList(request, usuario):

    instancia = get_object_or_404(Empleado, usuario_id=usuario)

    lista2 = Memorandum.objects.filter(para_id=instancia)


    for usuarios in lista2:
        lista_de_id = usuarios.de_id
        lista_para_id = usuarios.para_id
        lista_asunto = usuarios.asunto
        lista_fecha = usuarios.fecha


    context = {
        "lista2":lista2,
        "lista_de_id": lista_de_id,
        "lista_para_id": lista_para_id,
        "lista_asunto": lista_asunto,
        "lista_fecha" : lista_fecha


    }
    return render(request, 'app/admin/memolist.html',context)

models.py

class Memorandum(models.Model):
    de = models.ForeignKey(User)
    para = models.ForeignKey(Empleado) 
    fecha = models.DateField(default=datetime.date.today)
    detalle = models.TextField()

1 个答案:

答案 0 :(得分:0)

您不应将id替换为名称。您正在使用外键。因此它显示id。

for usuarios in lista2:
    lista_de_id = usuarios.de_first_name
    lista_de_first_name = usuarios.de__first_name #user double "_"
    lista_para_id = usuarios.para_id
    lista_asunto = usuarios.asunto
    lista_fecha = usuarios.fecha