如何获取当前活跃用户的最后记录?

时间:2017-11-14 09:58:26

标签: django python-3.x

我需要记录用户上传到DB的最后一条记录。我知道如何找到最后一个,很容易(Documents.objects.last())。但我不确定它是否正确,因为同时另一个用户可以上传文件,所以我会得到他的记录。这是我的代码:

models.py

from django.db import models

class Document(models.Model):
    username = models.CharField(max_length=100, blank=True, null=True)
    document = models.FileField(upload_to='documents/%Y/%m/%d/%H:%M:%S')
    uploaded_at = models.DateTimeField(auto_now_add=True)

tabu.py

from .models import Document

class TabuName:
    def tabufunction(self):
        res = Document.objects.last()
        return res

我不能在该文件中使用request.user.username。我读过django不好的做法。你知道这个问题的解决方案吗?

2 个答案:

答案 0 :(得分:3)

首先,您可以将用户名更改为用户模型的ForeignKey

res = Document.objects.filter(username=request.user.username).order_by('-id')[0]

正常情况下,货币问题可以忽略。如果您关心它,可以在cachedb中存储最后的用户信息,例如:Redis。

答案 1 :(得分:0)

constructor(private service: MyService) {    
    this.customer = service.getData();     
    console.log(this.customer.address.postalAddress.streetAddress.length);                
  }


<input required [(ngModel)]="customer.address.postalAddress.streetAddress" 
       [ngClass]="{'ng-dirty': customer.address.postalAddress.streetAddress.length > 0}">