我需要记录用户上传到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不好的做法。你知道这个问题的解决方案吗?
答案 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}">