从用户那里获取数据

时间:2019-08-12 14:51:22

标签: django python-3.x authentication django-views

如何从类视图中的用户身份验证查询中获取字段数据。在使用Python3的django 2.2.x框架上

此代码可以正常工作...

df4.withColumn("a", pow(sin(( lag($"Latitude_Centroid", 1).over(window) - 
$"Latitude_Centroid") / 2), 2) + cos(($"Latitude_Centroid")) * 
cos((lag($"Latitude_Centroid", 1).over(window)) * 
pow(sin((lag($"Longitude_Centroid", 1).over(window) - 
$"Longitude_Centroid") / 2), 2))).withColumn("distance", atan2(sqrt($"a"), 
sqrt(-$"a" + 1)) * 2 * 6371).select("imei","distance","Longitude_Centroid","Latitude_Centroid").show(50)

但这不是...

from django.contrib.auth.models import User

class PaymentsReportView(ListView):
    template_name = 'payments/Payment_list.html'
    userid = 'James'
    queryset = Payment.objects.filter(Landlord_FK__User_id=userid)

如何检查User.username的输出是否有效?我缺少什么来获取数据?代码不会中断。它只是返回空。

1 个答案:

答案 0 :(得分:0)

您不能在课堂上这样做。您需要做的是定义一个get_queryset方法并在那里进行过滤:

class PaymentsReportView(ListView):
    template_name = 'payments/Payment_list.html'

    def get_queryset(self):
        userid = self.request.user.username
        return Payment.objects.filter(Landlord_FK__User_id=userid)

尽管我必须指出,这种实现是奇怪的。为什么userid是用户名而不是ID?通常,我希望过滤器为(Landlord_FK=request.user)。您应该显示模型。