【问题标题】:Get single record from db in Django从 Django 中的 db 获取单条记录
【发布时间】:2020-02-24 14:15:38
【问题描述】:

views.py

from .models import Customer as CustomerModel

class Balance_Enquiry(TemplateView):
    template_name = 'balance_enuiry.html'

    def get(self, request, *args, **kwargs):
        if "user_id" in request.session:
            try:
                customer = CustomerModel.objects.get(user_id=request.session["user_id"])
                args = {'form': form, 'posts': customer}
                return render(request, self.template_name, args)
            except Exception as e:
                return HttpResponse('failed: {}'.format(e), 500)

模板

{% extends 'home.html' %}

{% load crispy_forms_tags %}

{% block title %}Balance Enquiry{% endblock %}

{% block content %}

    <form method="get" >
    {% csrf_token %}

        <table border="5">
            <tr>
            <th>Amount</th>
                <th>Contact</th>
            </tr>
     {% for get in customer %}
            <tr>
                <td>{{ get.amount }}</td>
                <td>{{ get.contact }}</td>
            </tr>
            {% endfor %}

我只想在登录后获取单人记录,它显示该人的记录,但它没有在屏幕上显示任何内容,它只显示空白,甚至没有任何错误

【问题讨论】:

  • 这里args = {'form': form, 'posts': customer} 将客户置于上下文中,然后在模板中遍历customer。这是在哪里定义的?为什么您将客户称为posts
  • 我收到错误“客户”对象不可迭代
  • 从您的代码来看,customer 是什么并不明显。你能在上下文中显示这个变量的定义吗?另外,您为什么要通过单个记录进行迭代?
  • 在客户中我存储客户表的对象
  • 我只想获取登录意味着他的联系人_无金额等的人的单一记录

标签: django python-3.x postgresql


【解决方案1】:

如果您使用get() 方法获取单个数据,则不能进行 for 循环,因为您采用不可迭代的对象。删除模板中的 for 循环。此外,您必须对上下文和模板变量使用相同的关键字。

观看次数:

args = {'form': form, 'customer': customer}

模板:

    <tr>
        <td>{{ customer.amount }}</td>
        <td>{{ customer.contact }}</td>
    </tr>

【讨论】:

  • 非常感谢您的帮助
  • 如果我想获得具有相同 user_id 的用户表属性,那么我该怎么做
  • 我没有清楚地理解你的问题,如果你能提供更多细节我想帮助你
  • 我的意思是我想访问 auth_user 表并获取特定人的信息,即电子邮件、名字等,然后我还从其他表中获取值,其中帐户信息存储在其他表中,即金额和联系号码
  • user = User.objects.get(pk=request.session["user_id"]) 你可以得到用户对象,然后你可以像这样访问你的用户字段:user.emailuser.first_name。您可以将此步骤用于其他表。如果没有请再问我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 2021-01-23
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多