如何获得以前的日期任何人都可以吗?其实我在做献血项目
How to get previous Date can anyone please? Actually I m working on Blood donation project
#Models.py
from django.db import models
class User(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
mobile_number = models.IntegerField()
cnic = models.CharField(max_length = 13)
blood_group = models.CharField(max_length= 10)
last_donation = models.DateTimeField(auto_now_add=True)
#Views.py
from django.shortcuts import render
from .models import *
from .forms import UserForm
from datetime import datetime,timedelta
from django.contrib import messages
def home(request):
return render(request, 'home.html')
def donor(request):
if request.method == "POST":
userform = UserForm(request.POST)
if userform.is_valid():
userform.save()
else:
userform = UserForm()
return render(request, 'donor.html',{'userform':userform})
#forms.py
from django.core.exceptions import ValidationError
from django.forms import ModelForm
from .models import User
from datetime import datetime,timedelta
from django.shortcuts import render
class UserForm(ModelForm):
class Meta:
model = User
fields = "__all__"
def clean_cnic(self):
cnic = self.cleaned_data['cnic']
print("This is a cnic",cnic)
if User.objects.filter(cnic = cnic).exists():
# i want to get previous date
其实我正在做献血项目。第一次用户会来他或她输入数据,日期会自动添加,因为它是 auto_now_add。同样的用户会来输入数据,如果用户存在,我将匹配 CNIC 如果用户存在,那么我必须获得上一个日期,在获得上一个日期之后,我必须从当前日期减去上一个日期以检查它是否完成 90 天(如果不存在)然后我必须显示消息“你必须等待 90 天才能完成”我如何获得以前的日期?
您可能想要这样的东西:-(我认为如果 cnic
是一个唯一字段,您应该在其上设置唯一或主键约束)
existing_user = User.objects.get(cnic=cnic)
if existing_user:
previous_date = existing_user.last_donation
current_date = datetime.datetime.now()
days_diff = (current_date - previous_date).days
#Models.py
from django.db import models
class User(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
mobile_number = models.IntegerField()
cnic = models.CharField(max_length = 13)
blood_group = models.CharField(max_length= 10)
last_donation = models.DateTimeField(auto_now_add=True)
#Views.py
from django.shortcuts import render
from .models import *
from .forms import UserForm
from datetime import datetime,timedelta
from django.contrib import messages
def home(request):
return render(request, 'home.html')
def donor(request):
if request.method == "POST":
userform = UserForm(request.POST)
if userform.is_valid():
userform.save()
else:
userform = UserForm()
return render(request, 'donor.html',{'userform':userform})
#forms.py
from django.core.exceptions import ValidationError
from django.forms import ModelForm
from .models import User
from datetime import datetime,timedelta
from django.shortcuts import render
class UserForm(ModelForm):
class Meta:
model = User
fields = "__all__"
def clean_cnic(self):
cnic = self.cleaned_data['cnic']
print("This is a cnic",cnic)
if User.objects.filter(cnic = cnic).exists():
# i want to get previous date
其实我正在做献血项目。第一次用户会来他或她输入数据,日期会自动添加,因为它是 auto_now_add。同样的用户会来输入数据,如果用户存在,我将匹配 CNIC 如果用户存在,那么我必须获得上一个日期,在获得上一个日期之后,我必须从当前日期减去上一个日期以检查它是否完成 90 天(如果不存在)然后我必须显示消息“你必须等待 90 天才能完成”我如何获得以前的日期?
您可能想要这样的东西:-(我认为如果 cnic
是一个唯一字段,您应该在其上设置唯一或主键约束)
existing_user = User.objects.get(cnic=cnic)
if existing_user:
previous_date = existing_user.last_donation
current_date = datetime.datetime.now()
days_diff = (current_date - previous_date).days