Я создал приложение, в котором люди могут загружать файлы csv с деталями своих элементов на сервер, а затем выполнять различные операции над ним.Но поскольку каждый элемент имеет свой уникальный идентификатор, при загрузке файла CSV невозможно определить, какая партия элементов была загружена последней.
Функция загрузки
Это моя функция.в views.py импортируем данные в модель Itembatch:
@method_decorator([login_required, teacher_required], name='dispatch')
class UploadedItems(ListView):
model = ItemBatch
ordering = ('name',)
context_object_name = 'quizzes'
template_name = 'classroom/teachers/item_list.html'
def get_queryset (self):
# queryset = self.request.user.uploaded_by
print("----------------" + str(ItemBatch.objects.latest('time')))
return ItemBatch.objects.filter(uploaded_by=self.request.user)
И вот эта модель:
# item upload
class ItemBatch(models.Model):
# uploaded_by = models.ForeignKey(Teacher, on_delete=models.CASCADE, related_name='uploaded_by')
ttypes =(('Open','Open'),('Container','Container'),('Trailer','Trailer'),('All','All'))
uploaded_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='uploaded_by')
name = models.CharField(max_length=30)
pid = models.CharField(max_length=30)
quantity = models.CharField(max_length=30)
length = models.CharField(max_length=100, blank=True)
width = models.CharField(max_length=100, blank=True)
height = models.CharField(max_length=100, blank=True)
volume = models.CharField(max_length=100, blank=True)
weight = models.CharField(max_length=100, blank=True)
truck_type = models.CharField(max_length=255,default=0, choices=ttypes)
origin = models.CharField(max_length=100, blank=True)
destination = models.CharField(max_length=100, blank=True)
time = models.DateTimeField(max_length=100, blank=True,default=now)
def __str__ (self):
return self.name
Что я пробовал
Как видите,
print("----------------" + str(ItemBatch.objects.latest('time')))
печатает только последний элемент, а не всю партию, которая мне нужна.Мне нужен набор запросов со всеми элементами, которые имели одинаковое поле времени и являются самыми последними.Есть ли способ сделать это без использования какого-либо BatchID в модели?
Это моя база данных моделей:
Как вы можете видеть, я хочу разделять / различать разные партии товаров.