将数据库中的日期与当前日期进行比较,如果晚了则提醒用户
Compare Date from a database to current date and alert user if it's late
我有一个数据库设置,我是后端的运行 Django 和前端的React.js。这是一个学校项目,但我很难找到有关如何正确执行此操作的信息。
我想获取 inspection_date 的日期并将其与当地时间进行比较,如果当地时间大于 inspection_date,则提醒用户他们已经过了检查日期.
这是我的 class 模型
class Hive(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
hive_number = models.IntegerField()
inspection_date = models.DateField()
我的序列化器
class HiveSerializer(serializers.ModelSerializer):
class Meta:
model = Hive
fields = ['id', 'hive_number', 'inspection_date', 'user_id']
depth = 1
您可以使用 @property
装饰器来完成这些事情,并设置自定义逻辑来检查用户的检查日期是否超过今天的日期。
如果用户的检查日期已超过今天的日期,则显示类似 you are not eligible for inspection
、vice-versa.
的内容
models.py
from django.db import models
from django.contrib.auth.models import User
from datetime import date
class Hive(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
hive_number = models.IntegerField()
inspection_date = models.DateField()
@property
def eligiblity_for_inspection(self):
current_date = date.today()
if current_date < self.inspection_date:
return True
else:
return False
def __str__(self):
f"Hive number **{self.hive_number}**"
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home')
]
views.py
from django.shortcuts import render
from .models import Hive
def home(request):
all_hives = Hive.objects.all()
context = {
'all_hives': all_hives
}
return render(request, 'home/index.html', context)
模板文件或index.html
<body>
{% for hive in all_hives %}
<div class="info">
<p>{{forloop.counter}} record</p>
<p>{{hive.user.username}}</p>
<p>{{hive.inspection_date}}</p>
{% if hive.eligiblity_for_inspection %}
<p>you are eligible for inspection</p>
{% else %}
<p>You are not eligible for inspection</p>
{% endif %}
</div>
<hr>
{% endfor %}
</body>
它将给出所需的输出,如果今天的日期大于检查日期,那么您可以显示任何自定义消息,也在警报中。
我有一个数据库设置,我是后端的运行 Django 和前端的React.js。这是一个学校项目,但我很难找到有关如何正确执行此操作的信息。
我想获取 inspection_date 的日期并将其与当地时间进行比较,如果当地时间大于 inspection_date,则提醒用户他们已经过了检查日期.
这是我的 class 模型
class Hive(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
hive_number = models.IntegerField()
inspection_date = models.DateField()
我的序列化器
class HiveSerializer(serializers.ModelSerializer):
class Meta:
model = Hive
fields = ['id', 'hive_number', 'inspection_date', 'user_id']
depth = 1
您可以使用 @property
装饰器来完成这些事情,并设置自定义逻辑来检查用户的检查日期是否超过今天的日期。
如果用户的检查日期已超过今天的日期,则显示类似 you are not eligible for inspection
、vice-versa.
models.py
from django.db import models
from django.contrib.auth.models import User
from datetime import date
class Hive(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
hive_number = models.IntegerField()
inspection_date = models.DateField()
@property
def eligiblity_for_inspection(self):
current_date = date.today()
if current_date < self.inspection_date:
return True
else:
return False
def __str__(self):
f"Hive number **{self.hive_number}**"
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home')
]
views.py
from django.shortcuts import render
from .models import Hive
def home(request):
all_hives = Hive.objects.all()
context = {
'all_hives': all_hives
}
return render(request, 'home/index.html', context)
模板文件或index.html
<body>
{% for hive in all_hives %}
<div class="info">
<p>{{forloop.counter}} record</p>
<p>{{hive.user.username}}</p>
<p>{{hive.inspection_date}}</p>
{% if hive.eligiblity_for_inspection %}
<p>you are eligible for inspection</p>
{% else %}
<p>You are not eligible for inspection</p>
{% endif %}
</div>
<hr>
{% endfor %}
</body>
它将给出所需的输出,如果今天的日期大于检查日期,那么您可以显示任何自定义消息,也在警报中。