首页 > 解决方案 > Django 1 每天插入数据

问题描述

如果用户在插入帐户的同一天插入数据,则记录将更新,如果用户明天或第二天插入数据,它将插入。

我只想每天插入 1 个数据

这是我的意见.py

insert_1tab, created = TrCustomerEmployeeSupplierSubmittedRecords.objects.get_or_create(
    fmCustomerID=company,
    fmCustomerLocationID = location,
    firstname=firstname,
    lastname=lastname,
    middleInitial=middlename,
    bodyTemperature=temperature,
    fmCustomerSectionID = sections,
    employee_number=employeno,
    contactNumber=cnumber,
    address=tirahan,

)
if not created:  
    insert_1tab.save()

这是我的models.py

class TrCustomerEmployeeSupplierSubmittedRecords(models.Model):
    fmCustomerID = models.ForeignKey('FmCustomer', null=True, blank=True,
                                     verbose_name="Customer")
    fmCustomerLocationID = models.ForeignKey('FmCustomerLocation',null=True, blank=True,
                                             verbose_name="CustomerLocation")
    dateSubmitted = models.DateField(auto_now_add=True, null=True, blank=True)
    firstname = models.CharField(max_length=500, blank=True)
    middleInitial = models.CharField(max_length=500, blank=True)
    lastname = models.CharField(max_length=500, blank=True)
    bodyTemperature = models.FloatField()
    fmCustomerSectionID = models.ForeignKey('FmCustomerSection', null=True, blank=True,
                                            verbose_name="CustomerSection")
    employee_number = models.CharField(max_length=500, blank=True, null=True)
    contactNumber = models.CharField(max_length=500, blank=True, null=True)
    address = models.CharField(max_length=500, blank=True, null=True)
    email = models.CharField(max_length=500, blank=True, null=True)

标签: pythondjango

解决方案


您可以尝试datetime.now().date()获取当前日期并更新记录。

from datetime import datetime
today_date = datetime.now().date()
TrCustomerEmployeeSupplierSubmittedRecords.update_or_create(
    dateSubmitted=today_date,
    employee_number=employeno,
    defaults={
        'fmCustomerID': company,
        'fmCustomerLocationID': location,
        'firstname': firstname,
        'lastname': lastname,
        'middleInitial': middlename,
        'bodyTemperature': temperature,
        'fmCustomerSectionID': sections,
        'employee_number': employeno,
        'contactNumber': cnumber,
        'address': tirahan
    }
)

这将搜索 dateSubmitted today 和employee_number = employeeeno 的记录。如果当天不存在,它将创建它。或者只是更新现有记录。


推荐阅读